nokogiri 1.5.5

Ruby gem: nokogiri

Install This Version

Using gem command

gem install nokogiri -v 1.5.5

In your Gemfile

gem 'nokogiri', '~> 1.5.5'

Frequently Asked Questions

How do I lock the nokogiri gem at version 1.5.5?

To lock this gem at this specific version, update your Gemfile:

gem 'nokogiri', '1.5.5'

Then run:

bundle install

Note: This is an older version. Consider upgrading to the latest version (1.18.10) for the newest features and security fixes.

Docker Installation

Alpine Linux

FROM alpine:latest

# Install Ruby and build tools
RUN apk add --no-cache ruby ruby-dev build-base

# Install system dependencies
RUN apk add --no-cache \
    libxml2-dev \
    libxslt-dev \
    zlib-dev

# Note: The following dependencies do not have package lists for alpine:
# - libgumbo (canonical: libgumbo)
# - libiconv (canonical: libiconv)
# - liblzma (canonical: liblzma)
# - libopt (canonical: libopt)

# Install the gem
RUN gem install nokogiri -v 1.5.5

# Verify installation
RUN ruby -e "require 'nokogiri'; puts 'Successfully loaded nokogiri'"

Arch Linux

FROM archlinux:latest

# Install Ruby and build tools
RUN pacman -Sy --noconfirm ruby base-devel

# Install system dependencies
RUN pacman -Sy --noconfirm \
    libxml2 \
    libxslt \
    zlib

# Note: The following dependencies do not have package lists for arch:
# - libgumbo (canonical: libgumbo)
# - libiconv (canonical: libiconv)
# - liblzma (canonical: liblzma)
# - libopt (canonical: libopt)

# Install the gem
RUN gem install nokogiri -v 1.5.5

# Verify installation
RUN ruby -e "require 'nokogiri'; puts 'Successfully loaded nokogiri'"

Debian

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

# Install system dependencies
RUN apt-get update -qq && \
    apt-get install -y --no-install-recommends     libxml2-dev    libxslt1-dev    zlib1g-dev&& \
    apt-get clean && \
    rm -rf /var/lib/apt/lists/*

# Note: The following dependencies do not have package lists for debian:
# - libgumbo (canonical: libgumbo)
# - libiconv (canonical: libiconv)
# - liblzma (canonical: liblzma)
# - libopt (canonical: libopt)

# Install the gem
RUN gem install nokogiri -v 1.5.5

# Verify installation
RUN ruby -e "require 'nokogiri'; puts 'Successfully loaded nokogiri'"

Fedora

FROM fedora:latest

# Install Ruby and build tools
RUN dnf install -y ruby ruby-devel gcc gcc-c++ make

# Install system dependencies
RUN dnf install -y \
    libxml2-devel \
    libxslt-devel \
    zlib-ng-compat-devel && \
    dnf clean all

# Note: The following dependencies do not have package lists for fedora:
# - libgumbo (canonical: libgumbo)
# - libiconv (canonical: libiconv)
# - liblzma (canonical: liblzma)
# - libopt (canonical: libopt)

# Install the gem
RUN gem install nokogiri -v 1.5.5

# Verify installation
RUN ruby -e "require 'nokogiri'; puts 'Successfully loaded nokogiri'"

Ubuntu

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

# Install system dependencies
RUN apt-get update -qq && \
    apt-get install -y --no-install-recommends     libxml2-dev    libxslt1-dev    zlib1g-dev&& \
    apt-get clean && \
    rm -rf /var/lib/apt/lists/*

# Note: The following dependencies do not have package lists for ubuntu:
# - libgumbo (canonical: libgumbo)
# - libiconv (canonical: libiconv)
# - liblzma (canonical: liblzma)
# - libopt (canonical: libopt)

# Install the gem
RUN gem install nokogiri -v 1.5.5

# Verify installation
RUN ruby -e "require 'nokogiri'; puts 'Successfully loaded nokogiri'"

Nixpacks

Deploy with Nixpacks (Railway, Render, etc.)

# nixpacks.toml for nokogiri 1.5.5

[phases.setup]
# System dependencies:
aptPkgs = ["libxml2-dev", "libxslt1-dev", "zlib1g-dev"]

# Note: The following dependencies do not have package lists for debian:
# - libgumbo (canonical: libgumbo)
# - libiconv (canonical: libiconv)
# - liblzma (canonical: liblzma)
# - libopt (canonical: libopt)

[phases.install]
cmds = ["gem install nokogiri -v 1.5.5"]

[phases.build]
cmds = ["ruby -e \"require 'nokogiri'; puts 'Successfully loaded nokogiri'\""]

Save this as nixpacks.toml in your project root.

Cloud Native Buildpacks

Deploy with Cloud Native Buildpacks (Heroku, Paketo, etc.)

# package.toml for nokogiri 1.5.5
# Cloud Native Buildpacks configuration

# System dependencies:
[[build.env]]
name = "BP_APT_PACKAGES"
value = "libxml2-dev libxslt1-dev zlib1g-dev"

# Note: The following dependencies do not have package lists for debian:
# - libgumbo (canonical: libgumbo)
# - libiconv (canonical: libiconv)
# - liblzma (canonical: liblzma)
# - libopt (canonical: libopt)

# 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.

Nix Shell

Develop with Nix using ruby-nixpkgs

# shell.nix for nokogiri 1.5.5
# 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 = "nokogiri-1.5.5";
    ruby = rubyVersion;
    gemdir = ./.;
  };
in

pkgs.mkShell {
  buildInputs = [
    rubyVersion
    pkgs.bundler
    pkgs.ruby-nixpkgs

    # System dependencies
    pkgs.libxml2
    pkgs.libxslt
    pkgs.zlib

    # Note: The following dependencies do not have package lists for nixpkgs:
    # - libgumbo (canonical: libgumbo)
    # - libiconv (canonical: libiconv)
    # - liblzma (canonical: liblzma)
    # - libopt (canonical: libopt)
  ];

  shellHook = ''
    echo "Ruby environment for nokogiri 1.5.5"
    echo "Use: gem install nokogiri -v 1.5.5"
  '';
}

Save this as shell.nix in your project root, then run nix-shell.

Devenv

Develop with Devenv for declarative development environments

# devenv.nix for nokogiri 1.5.5
# Usage: devenv shell

{ pkgs, lib, config, ... }:

{
  languages.ruby = {
    enable = true;
    version = "3.3.0";
  };

  packages = [
    pkgs.libxml2
    pkgs.libxslt
    pkgs.zlib

    # Note: The following dependencies do not have package lists for nixpkgs:
    # - libgumbo (canonical: libgumbo)
    # - libiconv (canonical: libiconv)
    # - liblzma (canonical: liblzma)
    # - libopt (canonical: libopt)
  ];

  enterShell = ''
    echo "Development environment for nokogiri 1.5.5"
    echo "Use: gem install nokogiri -v 1.5.5"
  '';
}

Save this as devenv.nix in your project root, then run devenv shell.

Nix Flakes

Develop with Nix Flakes for reproducible development environments

# flake.nix for nokogiri 1.5.5
# Usage: nix develop

{
  description = "Development environment for nokogiri 1.5.5";

  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

            # System dependencies
            pkgs.libxml2
            pkgs.libxslt
            pkgs.zlib

            # Note: The following dependencies do not have package lists for nixpkgs:
            # - libgumbo (canonical: libgumbo)
            # - libiconv (canonical: libiconv)
            # - liblzma (canonical: liblzma)
            # - libopt (canonical: libopt)
          ];

          shellHook = ''
            echo "Development environment for nokogiri 1.5.5"
            echo "Use: gem install nokogiri -v 1.5.5"
          '';
        };
      }
    );
}

Save this as flake.nix in your project root, then run nix develop.

Other Versions