自分がcapistranoでデプロイ時に出たgemインストールエラーを備忘録。
エラー内容
UsernoMacBook-Pro:test-APP user$ bundle exec cap production deploy # capistranoのデプロイコマンド
00:00 git:wrapper
mkdir -p /tmp
✔ ec2-user@10.100.10.100 0.074s
Uploading /tmp/git-ssh-test-APP-production-test.sh
・
・
・
00:07 bundler:install
$HOME/.rbenv/bin/rbenv exec bundle install --path /var/www/test-APP/shared/bundle --without development test…
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
current directory:
/var/www/chat-space/shared/bundle/ruby/2.3.0/gems/ovirt-engine-sdk-4.2.3/ext/ovirtsdk4c
/home/ec2-user/.rbenv/versions/2.3.1/bin/ruby -r
./siteconf20180411-1701-1tt6of5.rb extconf.rb
checking for xml2-config... yes
checking for curl-config... no
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
--with-libcurl-config
--without-libcurl-config
--with-pkg-config
--without-pkg-config
extconf.rb:40:in `<main>': The "libcurl" package isn't available. (RuntimeError)
なんぞやコレは?
checking for curl-config... no
とか、
extconf.rb:40:in `<main>': The "libcurl" package isn't available. (RuntimeError)
というエラーが出ている。
原因
調べてみたら、curlやlibcurlがインストールされてないらしい。
なので早速インストール
解決策
$ sudo yum -y install curl
$ sudo yum -y install libcurl libcurl-devel
※自分の場合は「libcurl」がなかった。
インストール後、再度デプロイ
00:07 bundler:install
$HOME/.rbenv/bin/rbenv exec bundle install --path /var/www/chat-space/shared/bundle --without development test…
✔ ec2-user@10.100.10.100 0.506s
00:08 deploy:assets:precompile
$HOME/.rbenv/bin/rbenv exec bundle exec rake assets:precompile
お!通った!
EC2でデプロイしている時に「bundle:install」でエラーが出る場合は、サーバ上に何かインストールされるべきものがされてないみたい。
checking for curl-config... no
やextconf.rb:40:in `<main>': The "libcurl" package isn't available. (RuntimeError)
というエラーメッセージに表示されているものをインストールしてみましょう。
curl、libcurl以外の場合は下記記事参照。
1.bundleでnative extensionを使ったgemのインストールでエラーになる件(mysql2,rmagick,sqlite3)
2.gem インストール時に発生したエラーとその解決方法まとめ(therubyracer,kakasi, mecab,libxml-ruby,nokogiri,capybara-webkit,thrift)
3.ruby-filemagic -v 0.6.1 Gem::Ext::BuildError: ERROR: Failed to build gem native extension. の解決方法