WSLで Rails Tutorial やろうと思ったら gem install rails でコケた話
投稿日:2018年12月09日
お疲れ様です、ナガです。
とりあえず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
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
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
2
3
4
5
6
7
8
親切に必要なモジュールを教えてくれます。
言われるがままに書きを叩きます。
$ sudo apt-get install libsqlite3-dev
1
libsqlite3-dev
をインストール後、再び rails のインストールコマンドを叩くと、ようやくうまくいきました。
あとがき
最初に叩いたコマンドでおとなしく sudo
つけていれば一発でイケたんじゃないか疑惑もありますけど、今となっては後の祭り。
来年はフロント以外も頑張ります。