2017-08-12 7 views
1

レールインストール中に実行ファイルを生成する際にランタイムエラーが発生しました。gemネイティブ拡張をビルドできませんでした(extconfは失敗しました)

gem install rails -- --use-system-libraries 

私はこれに類似したthreadをここにチェックしましたが、私の場合はライブラリが見つからないようです。 「開発ツールを最初にインストールする必要がありますが、どのツールを指定するのかは指定していません。 エラーログはhereで見ることができます。
私はarchlinux(4.12.4-1-ARCH)を使用しています。あなたが必要とするツールとライブラリの最小セットを発見する

+0

完全に新鮮な 'archlinux/base' Dockerイメージから始めました。すべてのRails依存関係を構築する手順を文書化します。 これらの状況では、 '開発ツール'は 'gcc'と' make'を参照すると、見つからなかったライブラリごとにメッセージが表示されます。 とにかく、私は今働いている、私は答えを書くでしょう。 – struthersneil

答えて

1

、私は次のようにドッカーで完全に新鮮なarchlinux/baseイメージで起動:

docker run -it archlinux/base 

...そして今、容器内部の...

まず、イメージのミラーが機能していないように、デフォルトのミラーリストを変更しました。 pacmanが正常に機能している場合は、これを行う必要はありません。

rm /etc/pacman.d/mirrorlist 
echo "Server = http://mirrors.kernel.org/archlinux/\$repo/os/\$arch" > /etc/pacman.d/mirrorlist 
pacman-db-upgrade 
pacman -Syyu --noconfirm 

次に、私はrubyとC++ツールをインストールしました。 gem install rails -- --use-system-librariesを実行しよう

pacman -S ruby gcc make --noconfirm 

は鋸山のためのライブラリが不足している程度と予想苦情につながりました。それは

pacman -S libxml2 libxslt --noconfirm 

最後に、あなたがgem install rails -- --use-system-librariesを実行することができますし、それが正常に終了しますlibxml2libxsltに依存し、そう...。

あなたは(鋸山はlibxml2のOSバンドルバージョンと100%の互換性でない程度嘆くように、あなたが欲しいものはおそらくである)--use-system-librariesずにレールをインストールする場合だけではなく、インストールのパックマンを通じてgitawkをインストールXMLライブラリ

pacman -S ruby gcc make git awk --noconfirm 
gem install rails 

お楽しみください!

+0

システムライブラリを使わずにgitとawkを使ってインストールできました。あなたはawkとgitがどのように問題を助けたのか理解できますか? – krishnakant

+0

私はまだ "rails --version"を使って手すりを見つけることができません。正しくログをインストールしましたhttps://pastebin.com/Mdqc7YWv – krishnakant

+1

Nokogiriのビルドプロセスでは、Awkとgitが使用されていました。 awkはおそらく単純なコマンドラインテキスト処理に使われているかもしれないが、gitはどこか別のコードをプルダウンするために使われているだろう。 – struthersneil

関連する問題