[Rails] gem install rails でエラーが出るときの対処法
gem install rails でエラーが出たり、サーバーが起動できないときに試したこと。これで一応解決できた。
- .zshrc を作って rbenv のパスを通す
- ruby のバージョンを上げる
- rails / ruby のアンインストール
- gem install rails やり直す
- ディレクトリを削除する
- xcode-select --install やり直す
エンジニア速報は Twitter の@commteで配信しています。
Sponsored Link
例えば gem install rails に失敗するときは、以下のようなエラーが出る。どうやら、コンパイルに失敗している模様。
ERROR: Error installing rails: ERROR: Failed to build gem native extension. current directory: /Library/Ruby/Gems/2.6.0/gems/nio4r-2.5.4/ext/nio4r /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/ruby -I /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0 -r ./ siteconf20210103-61696-a56htj.rb extconf.rb checking for unistd.h ... **_ extconf.rb failed _** Could not create Makefile due to some reason, probably lack of necessary libraries and / or headers. Check the mkmf.log file for more details. You may need configuration options. Provided configuration options: --with-opt-dir --without-opt-dir --with-opt-include --without-opt-include = $ {opt-dir} / include --with-opt-lib --without-opt-lib = $ {opt-dir} / lib --with-make-prog --without-make-prog --srcdir =. --curdir --ruby = / System / Library / Frameworks / Ruby.framework / Versions / 2.6 / usr / bin / $ (RUBY_BASE_NAME) /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:467:in `try_do': The compiler failed to generate an executable file. (RuntimeError) You have to install development tools first.
ERROR: Loading command: install (LoadError) dlopen(/Users/~/.rbenv/versions/2.5.0/lib/ruby/2.5.0/x86_64-darwin18/openssl.bundle, 9): Library not loaded: /usr/local/opt/openssl/lib/libssl.1.0.0.dylib
.zshrc を作る。
touch .zshrc
rbenv のパスを通すため、.zshrc に以下を記入。
[[-d ~/.rbenv]] && \ export PATH=${HOME}/.rbenv/bin:${PATH} && \ eval "$(rbenv init -)"
パスを確認。rbenv を参照しているようですね。
$ which ruby /Users/ユーザー名/.rbenv/shims/ruby
rbenv のバージョンを指定して入れ直す。Rails では Ruby バージョン 2.5.0 以降が必須です。
$ rbenv uninstall 2.5.0 $ rbenv install 2.5.0
rais のバージョン確認。正常にインストールされました。
rails --version Rails 6.1.0
ブログを作成
$ rails new blog
無事、ブログのディレクトリが作られましたが、サーバーが動かない。
バージョンを変えてみる。
$ rbenv install 2.5.7 $ rbenv local 2.5.7 $ ruby -v
再び、サーバー起動するが、今度は rails が入ってないと警告が出ます。
rails server rbenv: rails: command not found The `rails' command exists in these Ruby versions: 2.5.0
一度上のディレクトリに移動して、再度 ruby のバージョンアップ。rails もインストールし直して、blog ディレクトリを削除。
rbenv local 2.6.6 gem install rails rm -r blog
再び、blog インストール。
rails new blog
blog ディレクトリに移動して、バージョン確認。おっ!入ってるね。
cd blog rails version Rails 6.1.0
ruby -v ruby 2.6.6
サーバー起動。
rails s => Booting Puma => Rails 6.1.0 application starting in development => Run `bin/rails server --help` for more startup options Puma starting in single mode... - Puma version: 5.1.1 (ruby 2.6.6-p146) ("At Your Service") - Min threads: 5 - Max threads: 5 - Environment: development - PID: 96922 - Listening on http://127.0.0.1:3000 - Listening on http://[::1]:3000 Use Ctrl-C to stop
localhost:3000 を開く。
無事、サーバーも起動しました。ターミナル上で、Ctrl C を押してサーバー停止。
参考:
スポンサード リンク
Leave a Comment