Ubuntu 18.04にRuby Sequelを入れる
普通にgem installしたらエラーが多発したので、備忘録までに。ちなみに、不要なものまでインストールしているかもなので、その点はご容赦を。
更新日: 2019.1.21公開日: 2018.12.4
普通にgem installしたらエラーが多発したので、備忘録までに。ちなみに、不要なものまでインストールしているかもなので、その点はご容赦を。
現象
前提として、Rubyは入っています。MySQLはクライアントだけが入っていて、SQLITEも入れてあります。
しかし、GEMをインストールしようとすると、
sudo gem install sqlite3 sequel mysql2
Building native extensions. This could take a while...
ERROR: Error installing sqlite3:
ERROR: Failed to build gem native extension.
current directory: /var/lib/gems/2.5.0/gems/sqlite3-1.3.13/ext/sqlite3
/usr/bin/ruby2.5 -r ./siteconf20181204-3477-lnb3eu.rb extconf.rb
mkmf.rb can't find header files for ruby at /usr/lib/ruby/include/ruby.h
extconf failed, exit code 1
Gem files will remain installed in /var/lib/gems/2.5.0/gems/sqlite3-1.3.13 for inspection.
Results logged to /var/lib/gems/2.5.0/extensions/x86\_64-linux/2.5.0/sqlite3-1.3.13/gem\_make.out
Successfully installed sequel-5.15.0
Parsing documentation for sequel-5.15.0
Done installing documentation for sequel after 9 seconds
Building native extensions. This could take a while...
ERROR: Error installing mysql2:
ERROR: Failed to build gem native extension.
current directory: /var/lib/gems/2.5.0/gems/mysql2-0.5.2/ext/mysql2
/usr/bin/ruby2.5 -r ./siteconf20181204-3477-188x28x.rb extconf.rb
mkmf.rb can't find header files for ruby at /usr/lib/ruby/include/ruby.h
extconf failed, exit code 1
Gem files will remain installed in /var/lib/gems/2.5.0/gems/mysql2-0.5.2 for inspection.
Results logged to /var/lib/gems/2.5.0/extensions/x86\_64-linux/2.5.0/mysql2-0.5.2/gem\_make.out
1 gem installed
SQLITEとMysqlのGEMでこけてます。
追加でインストールしたもの
sudo apt-get install ruby-dev
これでも、まだエラーが出ます。
ネットで情報を探していると、libmysqlclientが必要っぽいのでインストールしますが、、
sudo apt-get install libmysqlclient-dev
これでもエラーは改善されません。
改めてGemインストール時のエラーログを見返してみると、
sudo apt-get install libsqlite3-dev
こちらが正解のようです。
続いて、海外フォーラムであった、これを入れたらいいよリストを入れます。SSL系ですね。
sudo apt-get install libnetcdf-dev libssl-dev libcrypto++-dev libgmp-dev
ruby-mysql2も入れるといいらしいので、入れます。
sudo apt-get install ruby-mysql2
これでエラーがなくなりました。