WSLで Rails Tutorial やろうと思ったら gem install rails でコケた話

投稿日:2018年12月09日

Tags: bash メモ rails ruby

お疲れ様です、ナガです。

とりあえずWSL入れたのでサーバーサイドの言語を何かしらやってみたいと思い、Rails Tutorialを試そうとしたところ、結局環境構築でハマったので備忘録。

実行環境

  • Windows 10 Home
  • Ubuntu 18.04 LTS (WSL)
  • Ruby 2.5.1
  • Gem 2.7.6

Error その1

さぁ rails をインストールだ!と思ってインストールコマンド叩いたのもつかの間。

すぐにエラーがでました。

$ gem install rails -v 5.1.6
Fetching: concurrent-ruby-1.1.3.gem (100%)
Successfully installed concurrent-ruby-1.1.3
Fetching: i18n-1.1.1.gem (100%)
Successfully installed i18n-1.1.1
Fetching: thread_safe-0.3.6.gem (100%)
Successfully installed thread_safe-0.3.6
Fetching: tzinfo-1.2.5.gem (100%)
Successfully installed tzinfo-1.2.5
Fetching: activesupport-5.1.6.gem (100%)
Successfully installed activesupport-5.1.6
Fetching: rack-2.0.6.gem (100%)
Successfully installed rack-2.0.6
Fetching: rack-test-1.1.0.gem (100%)
Successfully installed rack-test-1.1.0
Fetching: mini_portile2-2.3.0.gem (100%)
Successfully installed mini_portile2-2.3.0
Fetching: nokogiri-1.8.5.gem (100%)
Building native extensions. This could take a while...
ERROR: Error installing rails:
ERROR: Failed to build gem native extension.

current directory: /var/lib/gems/2.5.0/gems/nokogiri-1.8.5/ext/nokogiri/usr/bin/ruby2.5 -r ./siteconf20181202-14890-ugneb4.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/nokogiri-1.8.5 for inspection.
Results logged to /var/lib/gems/2.5.0/extensions/x86_64-linux/2.5.0/nokogiri-1.8.5/gem_make.out
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29

怒られました。

エラー内容をググると下記で治るっぽいので試してみました。

$ sudo apt install ruby-dev libxml2 libxml2-dev zlib1g-dev
$ sudo gem install nokogiri
1
2

Error その2

これでようやくチュートリアルの通り、railsがインストールができると思って下記のコマンドを叩きます。

$ sudo gem install rails -v 5.1.6
1

すると今度は下記のエラーが…。

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

current directory: /tmp/bundler20181202-31543-cd5kxgsqlite3-1.3.13/gems/sqlite3-1.3.13/ext/sqlite3
/usr/bin/ruby2.5 -r ./siteconf20181202-31543-1xp59k3.rb extconf.rb
/usr/lib/ruby/2.5.0/mkmf.rb:1553: warning: Insecure world writable dir /home/nagasawa/.anyenv/envs/ndenv/shims in PATH, mode 040777
checking for sqlite3.h... no
sqlite3.h is missing. Try 'brew install sqlite3',
'yum install sqlite-devel' or 'apt-get install libsqlite3-dev'
1
2
3
4
5
6
7
8

親切に必要なモジュールを教えてくれます。

言われるがままに書きを叩きます。

$ sudo apt-get install libsqlite3-dev
1

libsqlite3-dev をインストール後、再び rails のインストールコマンドを叩くと、ようやくうまくいきました。

あとがき

最初に叩いたコマンドでおとなしく sudo つけていれば一発でイケたんじゃないか疑惑もありますけど、今となっては後の祭り。

来年はフロント以外も頑張ります。

参考

Last Updated: 2019-9-9 21:37:59