indexgo
login

Alpine LinuxコンテナにRubyをインストールする

Alpine LinuxコンテナにRubyをインストールする

作成者:Ssさん 公開日:2018年9月06日 21時23分 更新日:2018年9月06日 21時23分

apk addではインストールができなかった

Alpine Linuxだったら普通はapkでインストールしますよね。自分も他のアプリそうしてたのでインストールしてみたんですが、、、

apk add --update ruby-dev build-base ruby ruby-irb ruby-io-console ruby-rdoc ruby-bundler

ruby -v

Error relocating /usr/lib/libruby.so.2.4: pthread_setname_np: symbol not found

え?どゆこと!?!?

Google先生に聞いても解決できなかったので素直にビルド

alpine-linux-ruby-dockerfile/Dockerfile at master · cblunt/alpine-linux-ruby-dockerfile · GitHub

https://github.com/cblunt/alpine-linux-ruby-dockerfile/blob/master/2.3.0/Dockerfile

Good SoSo
DEPRECATED: Dockerfile to build alpine linux with specific ruby version - cblunt/alpine-linux-ruby-dockerfile
UN apk add --update linux-headers build-base openssl-dev libc-dev \
                     libxml2-dev libxslt-dev libffi-dev readline-dev \
                     jemalloc-dev git bash wget readline-dev && \

    wget -O ruby-install-0.6.0.tar.gz https://github.com/postmodern/ruby-install/archive/v0.6.0.tar.gz && \

    tar -xzvf ruby-install-0.6.0.tar.gz && \
    cd ruby-install-0.6.0/ && \
    make install && \

    ruby-install --system ruby 2.3.0 && \

    make uninstall && \
    cd / && rm -rf ruby-install-0.6.0 && \

    apk del bash wget linux-headers build-base openssl-dev libc-dev \
        libxml2-dev libxslt-dev libffi-dev \
        jemalloc-dev bash wget

RUN echo "gem: --no-document" > ~/.gemrc

RUN gem install bundler

めっちゃ時間かかるけど、インストールできました!

ruby -v

ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-linux]