web-dev-qa-db-ja.com

エラー:gem ...の実行中...(Errno :: EPERM)操作は許可されません

私のMacをOSX 10.11 El Capitanにアップデートしたところ、いくつかの宝石が残っていませんでした。

異なる宝石のインストールを実行しようとしたときに問題が発生しました。

> Sudo gem install compass

実行すると、エラーが発生します。

> ERROR:  While executing gem ... (Errno::EPERM) Operation not permitted

これは他の宝石でも起こります。

Homebrewを実行してRubyをもう一度インストールしようとしましたが、何も動作しません。

137
Roy Calderon

私はSASS問題に関する答えを見つけました.. https://github.com/sass/sass/issues/1768

明らかにOSX el Capitanには、Rootlessと呼ばれるシステムファイルを変更することを防ぐ新しいセキュリティ機能があります。 2つの選択肢があります。

/usr/local/binにgemsをインストールしても、rootlessはこのパスに影響しないので問題ありません。

Sudo gem install -n /usr/local/bin GEM_NAME_HERE

430
Roy Calderon

この問題は、 System Integrity Protection という新しいセキュリティ機能が原因で発生しています。

下記の手順でSIPを無効にすることができます。

  1. コンピュータを再起動し、Appleロゴが画面に表示されるまでCommand + Rを押して、Macをリカバリモードに再起動します。
  2. 「ユーティリティ」>「端末」をクリックします。
  3. ターミナルウィンドウで、csrutil disableと入力してEnterキーを押します。
  4. Macを再起動してください。
9
Abid Ur Rehman