c0d3man52

Webサイト制作

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

これでエラーがなくなりました。

タグ