ここがこの質問をするのに適切な場所かどうかはわかりません。私が試してみます。準拠していない場合は閉じてください。
特にAlpine Linuxで、github.ioにコンテンツを公開するためにoctopressをドッキングする際に問題があります。
これは私の Dockerfile です:
FROM alpine:edge
MAINTAINER Emanuele Ianni <dierre@gmail.com>
ENV BUILD_PACKAGES bash curl-dev build-base git
ENV RUBY_PACKAGES ruby ruby-dev ruby-io-console ruby-bundler
ENV EXECJS_DEPENDENCY nodejs
ENV GIT_URL https://github.com/invasionofsmallcubes/invasionofsmallcubes.github.io.git
# Update and install all of the required packages.
# At the end, remove the apk cache
RUN apk update && \
apk upgrade && \
apk add $BUILD_PACKAGES && \
apk add $RUBY_PACKAGES && \
apk add $EXECJS_DEPENDENCY && \
rm -rf /var/cache/apk/*
# RUN gem install --no-rdoc --no-ri posix-spawn -v 0.3.11
RUN gem install --no-rdoc --no-ri execjs
# cloning existing octopress repo
WORKDIR ~
RUN git clone $GIT_URL octopress
WORKDIR octopress
RUN gem install --no-rdoc --no-ri bundler
これはステップ 12 の一部ですRUN bundle install
。
Installing posix-spawn 0.3.6 with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
/usr/bin/ruby -r ./siteconf20150914-5-1oxh9qm.rb extconf.rb
creating Makefile
make "DESTDIR=" clean
make "DESTDIR="
compiling posix-spawn.c
In file included from /usr/include/ruby-2.2.0/ruby/ruby.h:24:0,
from /usr/include/ruby-2.2.0/ruby.h:33,
from posix-spawn.c:14:
/usr/include/ruby-2.2.0/x86_64-linux-musl/ruby/config.h:17:0: warning: "_GNU_SOURCE" redefined
#define _GNU_SOURCE 1
^
posix-spawn.c:3:0: note: this is the location of the previous definition
#define _GNU_SOURCE
^
posix-spawn.c: In function 'rb_posixspawn_pspawn':
posix-spawn.c:403:11: error: 'POSIX_SPAWN_USEVFORK' undeclared (first use in this function)
flags |= POSIX_SPAWN_USEVFORK;
^
posix-spawn.c:403:11: note: each undeclared identifier is reported only once for each function it appears in
Makefile:237: recipe for target 'posix-spawn.o' failed
make: *** [posix-spawn.o] Error 1
make failed, exit code 2
Gem files will remain installed in /usr/lib/ruby/gems/2.2.0/gems/posix-spawn-0.3.6 for inspection.
Results logged to /usr/lib/ruby/gems/2.2.0/extensions/x86_64-linux/2.2.0/posix-spawn-0.3.6/gem_make.out
An error occurred while installing posix-spawn (0.3.6), and Bundler cannot
continue.
Make sure that `gem install posix-spawn -v '0.3.6'` succeeds before bundling.
The command '/bin/sh -c bundle install' returned a non-zero code: 5
より大きなバージョンの posix-spawn のインストールに問題はありませんが、これはバンドル インストールに必要なものです。
Ubuntu を使用してファイルを実行すると、次のエラーは発生しません。
Installing syntax 1.0.0
Installing maruku 0.6.1
Installing posix-spawn 0.3.6 with native extensions
Installing yajl-ruby 1.1.0 with native extensions
ruby-dev をインストールしたので、これで十分だと思いました。他に確認できることがあるかどうか知っていますか?