※本サイトで紹介している商品・サービス等の外部リンクには、アフィリエイト広告が含まれる場合があります。
エラー内容
デイトラ中級編(DAY5)にてRubyの開発環境を作ったあと、Railsのインストールが出来ない
$ gem install rails -v "6.0.2.1"
- OS:Mac(Sonoma)
- 入れたいRuby:ruby 2.7.7
- 入れたいRails:Rails 6.0.2.1
ERROR: Error installing rails:
The last version of nokogiri (>= 1.8.5) to support your Ruby & RubyGems was 1.15.6. Try installing it with gem install nokogiri -v 1.15.6 and then running the current command again
nokogiri requires Ruby version >= 3.0, < 3.4.dev. The current ruy version is 2.7.7.221.
「エラー: Railsのインストール中にエラーが発生しました:
お使いのRuby & RubyGemsをサポートするnokogiriの最後のバージョンは1.15.6です。gem install nokogiri -v 1.15.6
を試してから、現在のコマンドを再実行してください。
nokogiriはRubyバージョン >= 3.0、< 3.4.devが必要です。現在のRubyバージョンは2.7.7.221です。」
エラーが出たので、指示どおりインストールしてみる
$ gem install nokogiri -v 1.15.6
再起動する
↓ インストールしたrubyのバージョンを確認する
$ ruby -v
ruby 2.6.10p210 (2022-04-12 revision 67958) [universal.x86_64-darwin23]
このとき、rubyのバージョンが「2.7.7」から「2.6.10.210」になっていることに気が付かなかった
再起動後か、それ以前からは不明・・・
↓ rbenvのバージョンも確認する
rbenv versions
system
* 2.7.7 (set by /Users/aya/.rbenv/version)
$ gem install rails -v "6.0.2.1"
ERROR: While executing gem ... (Gem::FilePermissionError)
You don't have write permissions for the /Library/Ruby/Gems/2.6.0 directory.
「エラー: gemを実行中にエラーが発生しました… (Gem::FilePermissionError)
/Library/Ruby/Gems/2.6.0 ディレクトリに対する書き込み権限がありません。」
$ export GEM_HOME="$HOME/.gem"
こちらのコードは以下サイトを参考にしました。
$ gem install rails -v "6.0.2.1"
(略)
Building native extensions. This could take a while...
Successfully installed racc-1.8.1
ERROR: Error installing rails:
There are no versions of nokogiri (~> 1.14) compatible with your Ruby & RubyGems. Maybe try installing an older version of the gem you're looking for?
nokogiri requires Ruby version >= 3.0, < 3.4.dev. The current ruby version is 2.6.10.210.
「Railsのインストール中にエラーが発生しました:
お使いのRuby & RubyGemsに互換性のあるnokogiri(~> 1.14)のバージョンはありません。探しているgemの古いバージョンをインストールしてみてください。
nokogiriはRubyバージョン >= 3.0、< 3.4.dev が必要です。現在のRubyバージョンは2.6.10.210です。」
ruby (2.7.7)に合わせてnokogiri (1.15.6)を入れていたが、ruby(2.6.10.210)になっていたため発生したエラー
ここでようやくruby(2.6.10.210)に気がつく
MacOSがSonomaの場合、以下を実行しなければいけないことを発見する
$ echo 'source ~/.bash_profile' >> ~/.zshrc
デイトラ内に記載があったのに見落としていた
↓ ruby (2.7.7)にならない
$ ruby -v
ruby 2.6.10p210 (2022-04-12 revision 67958) [universal.x86_64-darwin23]
$ rbenv rehash
$ruby -v
ruby 2.6.10p210 (2022-04-12 revision 67958) [universal.x86_64-darwin23]
↓ もう1文、必要なことを発見する
$ echo 'eval "$(rbenv init -)"' >> ~/.zshrc
$ source ~/.zshrc
こちらのコードは以下サイトを参考にしました。
↓ 無事にruby (2.7.7)に変更できた
$ rbenv global 2.7.7
$ ruby -v
ruby 2.7.7p221 (2022-11-24 revision 168ec2b1e5) [x86_64-darwin23]
$ gem install rails -v "6.0.2.1"
Building native extensions. This could take a while...
ERROR: Error installing rails:
ERROR: Failed to build gem native extension.
(中略)
Ensure you have either installed the shared-mime-info package for your distribution, or
obtain a version of freedesktop.org.xml and set FREEDESKTOP_MIME_TYPES_PATH to the location
of that file.
(以下略)
「ネイティブ拡張機能をビルド中です。これには時間がかかる場合があります…
エラー: Railsのインストール中にエラーが発生しました:
エラー: gemのネイティブ拡張機能のビルドに失敗しました。」
(中略)
「使用しているディストリビューションに対応したshared-mime-infoパッケージがインストールされていることを確認するか、freedesktop.org.xmlのバージョンを入手して、そのファイルの場所をFREEDESKTOP_MIME_TYPES_PATHに設定してください。」
↓shared-mime-infoのインストールをしてみる
$ brew install shared-mime-info
こちらのコードは以下サイトを参考にさせていただきました。
再度実行
$ gem install rails -v "6.0.2.1"
インストール完了!!!
$ rails -v
Rails 6.0.2.1