Невозможно установить упаковщик после установки ruby ​​из исходного кода. - PullRequest
1 голос
/ 01 июля 2019

Я использую Dockerfile для создания пользовательского ruby изображения следующим образом:

FROM debian:9

RUN apt-get update \
    && apt-get install -y \
        build-essential \
        gcc \
        openssl \
        procps \
        wget \
        zlib1g-dev \
    && cd /tmp \
    && wget http://ftp.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p0.tar.gz \
    && tar -xvzf ruby-2.0.0-p0.tar.gz \
    && ls -al \
    && cd ruby-2.0.0-p0 \
    && ./configure \
    && make \
    && make install

USER someuser
WORKDIR /home/someuser

Сборка завершена, все в порядке.

По сути, изнутри изображения:

$ ruby -v
ruby 2.0.0p0 (2013-02-24 revision 39474) [x86_64-linux]

Но когда я раскручиваю образ и пытаюсь установить bundler

$ gem install bundler
ERROR:  Loading command: install (LoadError)
    cannot load such file -- openssl
ERROR:  While executing gem ... (NoMethodError)
    undefined method `invoke_with_build_args' for nil:NilClass

Почему, учитывая, что я установил openssl?

edit : Это NOT дубликат this , потому что (хотя я использую OSX) я компилирую ruby WITHIN образ debian:9 и openssl устанавливаются в образе (Dockerfile)

edit : установка libssl-dev, как также указано в потенциальном повторяющемся вопросе, также не решает проблему:

(custom-ruby)*➣ $ docker run -it --user=root pkaramol/test-ruby-new bash
root@bde5e149ced7:/home/someuser# dpkg -l | grep -i ssl
ii  libssl-dev:amd64          1.1.0j-1~deb9u1            amd64        Secure Sockets Layer toolkit - development files
ii  libssl-doc                1.1.0j-1~deb9u1            all          Secure Sockets Layer toolkit - development documentation
ii  libssl1.1:amd64           1.1.0j-1~deb9u1            amd64        Secure Sockets Layer toolkit - shared libraries
ii  openssl                   1.1.0j-1~deb9u1            amd64        Secure Sockets Layer toolkit - cryptographic utility
root@bde5e149ced7:/home/someuser# gem install bundler
ERROR:  Loading command: install (LoadError)
    cannot load such file -- openssl
ERROR:  While executing gem ... (NoMethodError)
    undefined method `invoke_with_build_args' for nil:NilClass
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...