【Rails】Railsの環境構築でエラーが出てインストールできない時の対処法
はじめに
M1 MacでRailsの環境構築をした時にエラーが出てうまくいかなかったので、
出たエラーと解決方法についてまとめました。
経緯
gemでrailsをインストール
gemとは
①RubyGemsが公開しているRubyのパッケージ
②パッケージ管理システム
→最近はbundlerというパッケージ管理ツールを使うことが多い
1 |
$ gem install rails |
エラー内容
1 2 |
error: while executing gem ... (gem::filepermissionerror) you don't have write permissions for the /library/ruby/gems/2.6.0 directory. 2\. |
解決方法
gemがどこにあるか?
1 2 3 |
$ which gem /usr/bin/gem |
rubyがどこにあるか?
1 2 3 |
$ which ruby /usr/bin/ruby |
rubyはrbenvで管理しないといけないらしいが、現状は/usr/bin
で管理されているよう。
では/.rbenv
の直下で管理するように以下を試した。
brewでrbenvをインストールする
1 2 3 |
$ brew update $ brew install rbenv ruby-build |
Rubyをインストールする
1 |
$ rbenv install 2.7.7 |
するとエラー発生。
参考記事1のケースを参考に、下記のコマンドを叩く。
1 |
$ RUBY_CFLAGS="-w" rbenv install 2.7.7 |
が先ほどと同じエラーが...。
1 2 |
error: while executing gem ... (gem::filepermissionerror) you don't have write permissions for the /library/ruby/gems/2.6.0 directory. 2\. |
参考記事2を参考に、sudo
を付けて実行したところ、
1 |
$ sudo rbenv install 2.7.7 |
ちなみにsudo
とは、管理者権限が必要な作業を実行するコマンドです。(参考記事4から)
3分ぐらい時間がかかったが、ついにRubyのインストールに成功!
きちんとインストールできているか下記コマンドで確認。
1 2 3 4 |
$ rbenv versions * system 2.7.7 ←ちゃんとできてる〜! |
この状態だと、systemの方が利用されているので、インストールした2.7.7を利用するように下記コマンドで設定する。
1 |
$ rbenv global 2.7.7 |
2.7.7を利用に設定できているか確認。
1 2 3 4 |
$ rbenv versions system * 2.7.7 ←OK! |
次にrbenvにパスを通す必要があるため、シェルの設定ファイルを編集する段階に。
自分のPCのデフォルトシェルを確認するには、下記のコマンド。
1 2 3 |
$ echo $SHELL /bin/zsh |
デフォルトシェル | 設定ファイル |
---|---|
/bash | .bash_profile |
/zsh | .zshrc |
設定ファイルがない場合は、参考記事3を見て、設定ファイルを作成する。
パスを追加するため、設定ファイルを開く。
1 |
$ open ~/.zshrc |
開いたファイルに下記を追加し、保存する。
1 2 3 |
[[ -d ~/.rbenv ]] && \ export PATH=${HOME}/.rbenv/bin:${PATH} && \ eval "$(rbenv init -)" |
そして、追記した内容を反映させるため、下記のコマンドを。
1 |
$ source ~/.zshrc |
そしてそして、ターミナルを再起動。
rubyとgemがrbenvの管理下に置かれているか、下記コマンドで確認。
1 2 3 |
$ which ruby /Users/(名前)/.rbenv/shims/ruby |
1 2 3 |
$ which gem /Users/(名前)/.rbenv/shims/gem |
おお、できてる!
ここで、sudo
を付けてRailsのインストールコマンドを叩く。
1 |
$ sudo gem install rails |
成功したっぽい。
もう一度、ターミナルを再起動。
ちゃんとRailsがインストールされたか下記コマンドで確認。
1 2 3 |
rails -v Rails 7.0.4.2 |
できてる〜!
まとめ
rubyはrbenvで管理しないといけないが、/usr/bin
下で管理されていたため、Railsのインストールがうまくいっていなかったようです。
またsudo
を付けて管理者権限でコマンドを実行するとうまくいきました。
参考記事
1
https://kenzoblog.vercel.app/posts/m1-chip
2
https://www.yururiwork.net/archives/1563
3
https://qiita.com/k3ntar0/items/eb8cdbd8eba9da388def
4