M1 Mac で Home brew が使えるようになったの…
M1 Mac にしたら Sass のインストールでエラーが出る
gem で Sass をインストールしようとすると権限がありませんとエラーが出ます。
gem のインストール先に書き込み権限がないことが原因のようです。
gem install sass ERROR: While executing gem ... (Gem::FilePermissionError) You don't have write permissions for the /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/gems/2.6.0 directory.
今回は rbenv を使ってこの問題を改善します。
rbenv は Ruby の複数バージョンを管理し切り替えなどが行えるものです。権限のあるディレクトリで操作できるようになることからこの問題を改善できます。
gemのアップデート
gem をアップデートしておきます
gem update --system
gem のパスを確認
現在の gem のパスを確認します。
このパスだと権限がないため上記エラーが発生します。
which gem /usr/bin/gem
which ruby /usr/bin/ruby
rbenvのインストール
Rbenv を brew を使ってインストールしていきます。
まずは brew をアップデートします。
brew update
rbenv をインストールします。
brew install rbenv ruby-build
インストールできるバージョンを確認します。
rbenv install -l 2.6.9 2.7.5 3.0.3 3.1.1
今回は version 3.1.1 をインストールします。
rbenv install 3.1.1
rbenv の初期化
rbenv を初期化します
rbenv init
rubyをシステムからrbenvのrubyに切り替え
rbenv の ruby に切り替えます
rbenv global 3.1.1
切り替えの確認を行います。指定した 3.1.1 に「*」がついているので切り替わっています。
rbenv versions system *3.1.1 (set by /Users/username/.rbenv/version)
gem と ruby のパスの確認
改めてパスを確認します。以下のようにパスがrbenvになっていればOKです。
which gem /Users/username/.rbenv/shims/gem which ruby /Users/username/.rbenv/shims/ruby
再度インストール
Sass のインストールを再度トライしてみます。
gem install sass
無事にインストールできました。
zshrc に PATH を通す
Catalina は bash から zsh に移行したので .zshrc に記述していきます。
sudo vi ~/.zshrc
以下を記述し保存します。
export PATH=~/.composer/vendor/bin:$PATH [[ -d ~/.rbenv ]] && \ export PATH=${HOME}/.rbenv/bin:${PATH} && \ eval "$(rbenv init -)"
保存したらシェルの設定を反映します
source ~/.zshrc
参考サイト
gem installでpermissionエラーになった時の対応方法