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