Ruby gem: rdkafka
gem install rdkafka -v 0.4.2 gem 'rdkafka', '~> 0.4.2' To lock this gem at this specific version, update your Gemfile:
gem 'rdkafka', '0.4.2' Then run:
bundle install Note: This is an older version. Consider upgrading to the latest version (0.24.2) for the newest features and security fixes.
FROM alpine:latest # Install Ruby and build tools RUN apk add --no-cache ruby ruby-dev build-base # Note: The following dependencies do not have package lists for alpine: # - librdkafka (canonical: librdkafka) # Install the gem RUN gem install rdkafka -v 0.4.2 # Verify installation RUN ruby -e "require 'rdkafka'; puts 'Successfully loaded rdkafka'"
FROM archlinux:latest # Install Ruby and build tools RUN pacman -Sy --noconfirm ruby base-devel # Note: The following dependencies do not have package lists for arch: # - librdkafka (canonical: librdkafka) # Install the gem RUN gem install rdkafka -v 0.4.2 # Verify installation RUN ruby -e "require 'rdkafka'; puts 'Successfully loaded rdkafka'"
FROM debian:bookworm-slim # Install Ruby and build tools RUN apt-get update -qq && apt-get install -y --no-install-recommends ruby ruby-dev build-essential # Note: The following dependencies do not have package lists for debian: # - librdkafka (canonical: librdkafka) # Install the gem RUN gem install rdkafka -v 0.4.2 # Verify installation RUN ruby -e "require 'rdkafka'; puts 'Successfully loaded rdkafka'"
FROM fedora:latest # Install Ruby and build tools RUN dnf install -y ruby ruby-devel gcc gcc-c++ make # Note: The following dependencies do not have package lists for fedora: # - librdkafka (canonical: librdkafka) # Install the gem RUN gem install rdkafka -v 0.4.2 # Verify installation RUN ruby -e "require 'rdkafka'; puts 'Successfully loaded rdkafka'"
FROM ubuntu:24.04 # Install Ruby and build tools RUN apt-get update -qq && apt-get install -y --no-install-recommends ruby ruby-dev build-essential # Note: The following dependencies do not have package lists for ubuntu: # - librdkafka (canonical: librdkafka) # Install the gem RUN gem install rdkafka -v 0.4.2 # Verify installation RUN ruby -e "require 'rdkafka'; puts 'Successfully loaded rdkafka'"
Deploy with Nixpacks (Railway, Render, etc.)
# nixpacks.toml for rdkafka 0.4.2 [phases.setup] # Note: The following dependencies do not have package lists for debian: # - librdkafka (canonical: librdkafka) [phases.install] cmds = ["gem install rdkafka -v 0.4.2"] [phases.build] cmds = ["ruby -e \"require 'rdkafka'; puts 'Successfully loaded rdkafka'\""]
Save this as nixpacks.toml in your project root.
Deploy with Cloud Native Buildpacks (Heroku, Paketo, etc.)
# package.toml for rdkafka 0.4.2 # Cloud Native Buildpacks configuration # Note: The following dependencies do not have package lists for debian: # - librdkafka (canonical: librdkafka) # Gem installation will be handled by the Ruby buildpack # which automatically installs gems from Gemfile or bundler
Save this as package.toml in your project root.
Develop with Nix using ruby-nixpkgs
# shell.nix for rdkafka 0.4.2
# Usage: nix-shell
# Uses ruby-nixpkgs for gem management
{ pkgs ? import <nixpkgs> {} }:
let
rubyVersion = pkgs.ruby_3_3;
# Ruby environment with ruby-nixpkgs
rubyEnv = pkgs.bundlerEnv {
name = "rdkafka-0.4.2";
ruby = rubyVersion;
gemdir = ./.;
};
in
pkgs.mkShell {
buildInputs = [
rubyVersion
pkgs.bundler
pkgs.ruby-nixpkgs
# Note: The following dependencies do not have package lists for nixpkgs:
# - librdkafka (canonical: librdkafka)
];
shellHook = ''
echo "Ruby environment for rdkafka 0.4.2"
echo "Use: gem install rdkafka -v 0.4.2"
'';
}
Save this as shell.nix in your project root, then run nix-shell.
Develop with Devenv for declarative development environments
# devenv.nix for rdkafka 0.4.2
# Usage: devenv shell
{ pkgs, lib, config, ... }:
{
languages.ruby = {
enable = true;
version = "3.3.0";
};
packages = [
# Note: The following dependencies do not have package lists for nixpkgs:
# - librdkafka (canonical: librdkafka)
];
enterShell = ''
echo "Development environment for rdkafka 0.4.2"
echo "Use: gem install rdkafka -v 0.4.2"
'';
}
Save this as devenv.nix in your project root, then run devenv shell.
Develop with Nix Flakes for reproducible development environments
# flake.nix for rdkafka 0.4.2
# Usage: nix develop
{
description = "Development environment for rdkafka 0.4.2";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
flake-utils.url = "github:numtide/flake-utils";
};
outputs = { self, nixpkgs, flake-utils }:
flake-utils.lib.eachDefaultSystem (system:
let
pkgs = nixpkgs.legacyPackages.${system};
rubyVersion = pkgs.ruby_3_3;
in
{
devShells.default = pkgs.mkShell {
buildInputs = [
rubyVersion
pkgs.bundler
# Note: The following dependencies do not have package lists for nixpkgs:
# - librdkafka (canonical: librdkafka)
];
shellHook = ''
echo "Development environment for rdkafka 0.4.2"
echo "Use: gem install rdkafka -v 0.4.2"
'';
};
}
);
}
Save this as flake.nix in your project root, then run nix develop.