本記事では、
sudo gem install cocoapodsコマンドを打った際に、パーミッションエラーが出てしまった際の対処法を紹介していく。
sudo gem install cocoapodsでパーミッションエラーが出た
以前Flutterの環境構築をする際、flutter doctorコマンドを打ったところ、
cocoapodsがインストールされていないのが原因で、
「sudo gem install cocoapods」コマンドの実行を求められたので実行した。
sudo gem install cocoapods
そしてsudo gem install cocoapodsコマンドを実行すると、以下のようなパーミッションエラーが出た。
ERROR: While executing gem ... (Gem::FilePermissionError)
You don't have write permissions for the /usr/bin directory.
gemコマンドを実行する際に、
/usr/binディレクトリに正しいパーミッションが無いよと言われている。
sudo gem install cocoapodsでパーミッションエラーが出た時の対処法
sudo gem install cocoapodsでパーミッションエラーが出た時の対処法は、結論を言うと
「sudo gem install cocoapods -n /usr/local/bin」と言うコマンドを実行することだ。
sudo gem install cocoapods -n /usr/local/bin
以下実行結果(中略)長いので。
何をやっているかと言うと、
cocoapodのインストール先を「/usr/bin」でなく
「/usr/local/bin」に指定してインストールすると言うことをやっている。
「/usr/local」ディレクトリは、OS標準の方法じゃ無い方法で、
インストールするソフトのインストール先の一つ。
インストール先を変えて、パーミッションエラーの発生を防ぐと言うのが肝となる。
gemだけじゃなくて、macでよく使うのならbrewとかでインストールしたものもこのディレクトリにインストールされていたので、ほんほん確かにって感じ。
ただ一つよく分からんことは、参考にさせていただいた記事※には、Catalina10.15だとエラーになったコマンドでもできるみたいに書いてあるのに何で出来なかったんだろう。でもまあ動いたしよし。

※参考にさせていただいた記事はいつの間にか閉鎖されていました(前は参考URL載せていたので)。
参考:Flutter環境構築をしたい人へ(Macユーザ向け)
Flutter開発環境を構築する際にエラーが出たと言ったが、
Flutter開発環境(MacOS向け)を構築した時の手順は下記記事にてまとめたので、興味がある方はぜひ。
■ sudo gem install cocoapods でパーミッションエラーが出る原因は、gemコマンド実行の際に、/usr/bin/ディレクトリに正しいパーミッションがないから。
■ 対処法として、以下のコマンドを実行する。
sudo gem install cocoapods -n /usr/local/bin