結論からいうと、 sqlite3-devel がなかったようです。
他にやったことは、パーミッションの設定。
他の方が書いた同じような記事。
環境:
CentOS 5.11
Rails 5.0.0.1
Ruby 3.2.1
なぜか bundle コマンドがうまく行かない。
An error occurred while installing sqlite3 (1.3.11), and Bundler cannot continue.
sqlite3 がない?おかしいなぁ。
Installing sqlite3 1.3.11 with native extensions
Gem::FilePermissionError: You don't have write permissions for the /vendor/bundle/ruby/2.3.0 directory.
su になってやってみると、警告メッセージのあと、何かやっているがやっぱり失敗する。
Don't run Bundler as root. Bundler can ask for sudo if it is needed, and installing your bundle as root will break this application for all non-root users on this machine.
root でバンドラーを走らせるな。バンドラーは sudo が必要なら聞くし、root としてバンドルをインストールすると、このマシンの root じゃない他のユーザーのこのアプリケーションを破壊するだろう。
(なぜ訳したw)
えー。パーミッションがないからスーパーユーザーにしたのに・・・。なんか ruby や rails のインストールからおかしかったのか? 普通のユーザに戻って、必要なときに sudo して作業を続けることに。
エラーメッセージをよく確認してみると、
An error occurred while installing sqlite3 (1.3.11), and Bundler cannot continue. Make sure that
gem install sqlite3 -v '1.3.11' succeeds before bundling.
じゃぁ、gem install をすればいいのね。
gem install sqlite3 -v '1.3.11
ERROR: While executing gem ... (Gem::FilePermissionError) You don't have write permissions for the /usr/local/lib/ruby/gems/2.3.0 directory.
・・・結局これか。
じゃぁ、このディレクトリに書き込み権限を追加してやってみる。
またなんか出てきた。
Gem::FilePermissionError: You don't have write permissions for the /vendor/bundle/ruby/2.3.0 directory.
ん? 今度は /usr/local じゃなくて、 /vendor/bundle/ruby となっている。
なんかユーザ以外のディレクトリのパーミッションを緩めるの嫌だなぁ。インストールのときに何か間違ったのかな?
仕方ないので、また chmod とかやってみる。
またなんか出た。
Installing sqlite3 1.3.11 with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
current directory: /vendor/bundle/ruby/2.3.0/gems/sqlite3-1.3.11/ext/sqlite3 /usr/local/bin/ruby -r ./siteconf20160904-8569-xpja3s.rb extconf.rb checking for sqlite3.h... no sqlite3.h is missing. Try 'port install sqlite3 +universal', 'yum install sqlite-devel' or 'apt-get install libsqlite3-dev' and check your shared library search path (the location where your sqlite3 shared library is located).
ヘッダーがない? あぁ、sqlite3 自体はあるのに、開発用のパッケージはないということか。
yum install sqlite-devel
とかやって、もういっかい bundle コマンドを打つ。
・・・
Installing rails 5.0.0.1 Installing sass-rails 5.0.6 Bundle complete! 15 Gemfile dependencies, 63 gems now installed. Bundled gems are installed into /vendor/bundle.
できた!
しかし、ruby関連のどのパッケージをユーザ毎にすればよかったのか、疑問が残る。
誰か教えてください。