権限エラーで失敗した場合に、gemをインストールするかRubyGemsを更新する方法


559

を使用してgemをインストールするgem install mygemgem update --system、を使用してRubyGemsを更新しようとすると、次のエラーで失敗します。

ERROR:  While executing gem ... (Gem::FilePermissionError)
You don't have write permissions for the /Library/Ruby/Gems/2.0.0 directory.

これを解決する方法を知っている人はいますか?


5
ここに私のソリューションです:stackoverflow.com/questions/34071868/...
LanceP

2
私のエラーが発生したのは、IMを実行したためです:gem update cocoapods correct:sudo gem update cocoapods
Abhishek Thapliyal

60
sudo chown -R $USER /Library/Ruby/Gems/
vaskort 2017年

2
このコマンドを使用するだけでうまくいきました:sudo gem install mygem
Jayprakash Dubey

1
私はzshシェルを使用していて、それは〜/ .zshrcのパスの問題でした。私はファイルの最後でこの行を使用し、それは私のために働きました:export PATH = "$ HOME / .rbenv / shims:$ PATH"
rosnk

回答:


317

/Library/Ruby/Gems/1.8ディレクトリへの書き込み権限がありません。

つまり、そこに書き込むための権限がありません。

これは、Appleが独自に使用するためにインストールしたRubyのバージョンです。何をしているのかわかっている場合は、マイナーな変更を加えてもかまいませんが、アクセス許可の問題がわからないため、この手順を続けることはお勧めしません。

代わりに、rbenvまたはRVMを使用して、ホームディレクトリのサンドボックスにインストールされた個別のRubyを管理することを強くお勧めします。システムRubyを台無しにすることを心配することなく、変更/折りたたみ/スピン/変更できます。

2つの間では、rbenvを使用しますが、以前はRVMを頻繁に使用していました。rbenvは、Rubyのインストールを管理するために、より「手を使わない」アプローチをとります。RVMには多くの機能があり、非常に強力ですが、結果としてより煩わしいものになります。いずれの場合も、READ数回あなたが選ぶどのインストールを開始する前に、それらのためのインストールマニュアルを。


176
ただし、別のRubyライブラリを使用する必要はありません。Michaelが上で提案したように、 'sudo'をあなたの前に置くだけです。
serraosays 2013

37
AppleがインストールしたRubyの所有権を変更することはお勧めできません。システムがインストール/アップグレードされ、ディスクユーティリティがディレクトリの所有権と権限を自動的に元に戻す/修復できるためです。それはユーザーを苛立たせ、それらのディレクトリの書き込み許可/所有権を持っていることを期待するOSとコードを苛立たせる可能性があります。Appleは、Rubyを使用するアプリをインストールし、特定のバージョンまたは動作を期待できるため、これらが機能しなくなる可能性があります。RVMまたはrbenvを使用する方が簡単で安全であり、心配する必要がないのに、なぜ煩わしいのでしょう。
Tin Man

203
私のように、実際にruby devを実行しておらず、これらすべてのクリスタルモノが何であるかを理解するために30分間いじりたくない場合。brew install ruby依存関係の問題を、Appleのインストールを損なうことのないクリーンな方法で解決します。あなたは既にしている場合sudo「初期のアップデートがインストール日間、あなたが何をやったかを心配している、あなたはこれで、それを元に戻すことができる必要があります:cd /System/Library/Frameworks/Ruby.framework/Versions;sudo rm Current; sudo ln -s 1.8 Current;
ルイ

21
" I did the sudo tangle and wound up modifying my pre-installed Ruby. I did your steps to try to fix the problem, but now when I do irb or ruby -v, I get command not found. What's going on and is there a fix"そして、これは人々がsudoやを使うべきではない理由にもっと重みを加えるだけchownです。ため息....
ティンマン

55
解決済み:brew install rubyターミナルを閉じて再度開いた後、エルキャプテンで。
Fmessina 2016年

421

--user-installを使用する代わりに追加してみてくださいsudo

gem install mygem --user-install

4
あなたの答えが以前に投稿されなかった理由がわかりません。--user-installオプションは明らかにしているしばらくの間、回避されて。これをもっと早く書いてくれたらいいのに。=)
マイケル-クレイシャーキーはどこですか

7
これは上に行く必要があります!sudoまたはsuを使用したインストールは、モジュールに権限システムを適用しているため、グローバルにインストールされたパッケージが、他の方法でインストールされたパッケージまたは他のプロジェクトの依存関係と衝突する可能性があるため、お勧めできません。rbenvを使用するには、別のソフトウェアをインストールする必要があり、複雑さが増します。
Hubert Grzeskowiak 2017年

7
これは機能しますが、次の警告が表示されます。「警告:PATHに/Users/<username>/.gem/ruby/2.0.0/binがないと、gem実行可能ファイルは実行されません。」次のリンクは、パスを更新する方法(viを使用せずに)の便利な手順を示しています。hathaway.cc
post /

4
これはシンプルで論理的です。bashrcにいない場合はルビーパスを追加します。if which ruby >/dev/null && which gem >/dev/null; then PATH="$(ruby -rubygems -e 'puts Gem.user_dir')/bin:$PATH" fi <br>ソース:guides.rubygems.org/faqs/#user-install
Inder Kumar Rathore

1
これはAppleの(Rubyがインストールされた)システムで失敗する可能性がありますか?
ダニエルスプリンガー

93

Rubyバージョンマネージャーを使用する必要があります。

適切に使用することで、gem updateコマンドを実行するときの権限の問題を防止および解決できます。

rbenvをお勧めします

ただし、Rubyバージョンマネージャーを使用している場合でも、同じエラーメッセージが表示されることがあります。

その場合、rbenvを使用している場合は、~/.rbenv/shimsディレクトリがシステムRubyのパスの前にあることを確認してください。

$ echo $PATH ロードパスの順序が表示されます。

shimsディレクトリがシステムのRuby binディレクトリの後にある場合は、~/.bashrcファイルを編集し、これを最後のエクスポートPATHコマンドとして配置します。 export PATH=$HOME/.rbenv/shims:$PATH

$ ruby -v 使用しているRubyのバージョンを表示します

これは、現在Rubyのシステムバージョンを使用していることを示しています(通常は適切ではありません)。

$ ruby -v
ruby 1.8.7 (2012-02-08 patchlevel 358) [universal-darwin12.0]

$ rbenv global 1.9.3-p448 新しい、プレインストールされたバージョンに切り替えます(以下の参照を参照)。

これは、Rubyの新しいバージョンを使用していることを示しています(おそらくGem :: FilePermissionErrorが発生しません)。

$ ruby -v
ruby 1.9.3p448 (2013-06-27 revision 41675) [x86_64-darwin12.4.0]

通常、gemコマンドの前にsudoを付ける必要はありません。そうする必要があると感じた場合は、おそらく何かが正しく構成されていません。

rbenvの詳細については、以下を参照してください。


7
を使用している場合は、自分でパスをいじる必要はありません。Homebrewのインストール手順にrbenv従っている場合は、シェル構成に追加するだけで、自分で設定する必要があります。eval "$(rbenv init -)"rbenvPATH

ありがとう。'rbenv global'を忘れてしまったので、まだシステムrubyを使用していて、gemのインストールが失敗していました。
Graham Perks 2014

75

なぜしないのですか:

sudo gem update --system

39
ルートとしてgemをインストールすることは良い考えではありません。stackoverflow.com/questions/2119064/...
spuder

に問題がありましたbrew upgrade Error: Permission denied...。これはそれを修正しました。ありがとう!
Ostap Andrusiv 2014

12
SUDOは絶対に使用しないでください。これを行う必要がある場合は、設定に問題があります。rbenvまたはrvmを使用してください。
Chris Hough

14
なぜ誰もがコマンドの前に常にsudoをスローするだけのアクセス許可の問題に答えているのですか?このベストプラクティスはどうですか?
スティーブン

hyh:qzc.xcodeproj ylgwhyh $ gem install cocoapodsエラー:gemの実行中...(Gem :: FilePermissionError)/Library/Ruby/Gems/2.0.0ディレクトリへの書き込み権限がありません。
ylgwhyh 2016

40

これにより、MacOs MojaveおよびMacOs Catalinaの問題がクリーンな方法で修正されます。

brew install ruby

次に、GEM_HOMEをユーザーディレクトリに設定します。ターミナルで:

Bash

echo '# Install Ruby Gems to ~/gems' >> ~/.bashrc
echo 'export GEM_HOME=$HOME/gems' >> ~/.bashrc
echo 'export PATH=$HOME/gems/bin:$PATH' >> ~/.bashrc
source ~/.bashrc

またはオンの場合Zsh

echo '# Install Ruby Gems to ~/gems' >> ~/.zshrc
echo 'export GEM_HOME=$HOME/gems' >> ~/.zshrc
echo 'export PATH=$HOME/gems/bin:$PATH' >> ~/.zshrc
source ~/.zshrc

2
どうやってこれを見つけたの?働きました!
kuzdu

2
あなたは男です!ハイファイブ、それは本当に魅力のように働きます。どうもありがとう。
mrDinkelman

1
これは私が走るまで私にはうまくいきませんでしたxcode-select --install。これは、拡張機能をコンパイルするために必要です。
Marc Perrin-Pelletier

私はこれを実行し、これらによって行われた変更をリセットできるようにしたいのですが、元に戻す方法を知っていますか?@Fmessina
KarenAnne

これは機能するはずです:~/.bashrcまたは~/.zshrcファイルを編集し、追加された3行を削除してから、source ~/.bashrcコマンドを再度実行します
Fmessina

34

私にとって問題はrbenv、適切なバージョンをグローバルに設定することを忘れたことによるものでした。

だから私はそれを設定する必要がありました rbenv global xxx

私の場合はインストールした2.0.0-p247ので、コマンドを発行する必要がありました:

rbenv global 2.0.0-p247
rbenv rehash

その後、すべてがうまくいきました。


3
OSXを新しいバージョンにアップグレードした後、gemをインストールするときにrbenvをすでに使用しており、Permissionエラーが発生し始めた場合:rbenv global 2.1.1たとえば、まずrbenvバージョンを設定してから、に進みrbenv rehashます。次に、gem installコマンドを再実行します。
njappboy 2014年

1
^これ+端末を再起動します。
XåpplI'-I0llwlg'I -

1
将来のエクスプローラ:rbenv rehashは非推奨になりましたgithub.com/rbenv/rbenv-gem-rehash
TCannadySF

私のために完全に働きました!それはだったrbenv rehash私が行方不明になりました。
jamesmarkcook 2017年

権限が不足しているのはシステムルビーであり、グローバルルビーが設定されていなければrbenvがシステムルビーを使用していたことに注意する価値があります。これはで確認できますrbenv versions
デニス

23

パスを修正する必要があります。

この修正が機能するかどうかを確認するには、次のコマンドを実行します。

which gem

これにより、権限のないディレクトリが出力されます。

/usr/bin/gem

これを修正するには、次の手順を実行します。

  1. プロファイルにコピーする必要があるパスを決定します。

    rbenv init -

    出力の最初の行は、プロファイルにコピーする必要がある行です。

    export PATH="/Users/justin/.rbenv/shims:${PATH}" #path that needs to be copied
    source "/usr/local/Cellar/rbenv/0.4.0/libexec/../completions/rbenv.zsh"
    rbenv rehash 2>/dev/null
    rbenv() {
      typeset command
      command="$1"
      if [ "$#" -gt 0 ]; then
        shift
      fi
    
      case "$command" in
      rehash|shell)
        eval `rbenv "sh-$command" "$@"`;;
      *)
        command rbenv "$command" "$@";;
      esac
    }
  2. パスをプロファイルにコピーして保存します。

  3. プロファイルをリロードします(source ~/.zshenv私にとって)。

  4. を実行しますrbenv rehash

実行which gemすると、次の権限を持つローカルパスが取得されます。

/Users/justin/.rbenv/shims/gem

それが私の状況の問題でした。に含めeval "$(rbenv init -)"~/.bash_profile、必要なすべての変更を行うことができます。
nyi 2016

ベストアンサー。私のプロファイルは.bash_profileという名前で、次のようにファイルを開くことができます。touch〜/ .bash_profile; オープン〜/ .bash_profileを、あなたはポイント1で述べた行を追加します
CarmenA


17

これでうまくいきました。さらに、以前にgemをrootとしてインストールした場合は、所有権を元に戻すことで問題を修正します(セキュリティ面で優れています)。

sudo chown -R `whoami` /Library/Ruby/Gems

1
だめだ!/Libraryフォルダーのアクセス許可を変更しないでください。システムが将来の更新で壊れる可能性があります。(返信が遅くなり申し訳ありません)
ラプター

@Raptor「/ライブラリ」ではなく、サブフォルダの権限を変更しています。私の場合、誤ってgemをrootとしてインストールしたので、それを元に戻したかったのです。私が理論的に考えることができる負の結果はなく、私が観察したものはありません。気になります-なぜこれが悪い考えだと思いますか?
thebiggestlebowski

パスはシステム用です。macOSのさらなるアップデートは壊れる可能性があります。
ラプター、

gemはデフォルトでこの場所にインストールされます。通常のユーザーではなく、誤ってroot(sudo)としてインストールされたため、使用できませんでした。私が行った結果は、最初に$ USERとしてインストールした場合と同じでした。害はありません。ここでの他の回答のほとんどは同じ結果/解決策を提案していますが、それを達成するための異なる方法です。私はまだ問題を見ません。/ライブラリの下に宝石をインストールしてはいけないと言っていますか?
thebiggestlebowski

15

ルートは2つあります。rbenvまたはRVMを使用します。以下に両方のレシピがあります。その前に、gemのローカルドキュメントのインストールをオフにすることをお勧めします。

echo "gem: --no-ri --no-rdoc" >> ~/.gemrc

次に:

install rbenv

install ruby-build

実行:

rbenv install 2.1.2 (or whatever version you prefer)
rbenv global 2.1.2
gem update --system

これにより、gemシステムの最新バージョンがローカルディレクトリにインストールされます。これは、システム構成に干渉しないことを意味します。この質問をする場合、システムのセキュリティをいじる必要はありません。また、最初に発生した問題を回避する簡単な方法を用意するよりも、発生する可能性のある問題をより深く理解することに費やします。オペレーティングシステムとプログラミングの詳細については、後でInfoSecについて学んでください。

別の方法としては、代わりに「RVM」を使用します。rvmインストールするには、次のコマンドを実行します。

rvm install 2.1.2
rvm use 2.1.2
gem update --system

これは同じ結果になり、システムのバージョンに干渉しないローカルのRubyおよびGemシステムになります。Homebrewや上書きするシステムライブラリなどは必要ありません。


13

宝石sudo少なくするためにこのハウツーを見つけました:

  1. brew install rbenv ruby-build
  2. sudo gem update --system
  3. にエクスポートを追加.bashrc

    export RBENV_ROOT="$(brew --prefix rbenv)"
    export GEM_HOME="$(brew --prefix)/opt/gems"
    export GEM_PATH="$(brew --prefix)/opt/gems"
  4. そして最後にこれをあなたに追加してください~/.gemrc

    gem: -n/usr/local/bin
  5. gem update --system


私はを使用しましたがbrew install rebenv ruby-build、その後にsystem私のディレクトリがありますか?これを引き起こした原因、およびそれを取り除く方法はありsystemますか?
-7537247

13

以下の元の回答を使用する前に、nathanwhyの回答を試してください。彼の推奨は--user-install、あなたのことをいじっ.bash_profileたり、ルビのバージョンを決定したりすることなく、同じ目的を達成すべきです。


特定のルビのバージョンが気にならない場合は、重いリフトのルビー環境マネージャーのオプションをスキップして、次の行を追加するだけ~/.bash_profileです。

export GEM_HOME="$HOME/.gem/ruby/2.0.0"
export GEM_PATH="$HOME/.gem/ruby/2.0.0"

パスは、の元の出力から盗まれますgem env

RubyGems Environment:
  - RUBYGEMS VERSION: 2.0.14
  - RUBY VERSION: 2.0.0
  - INSTALLATION DIRECTORY: /Library/Ruby/Gems/2.0.0
  - RUBY EXECUTABLE: /System/Library/.../2.0/usr/bin/ruby
  - EXECUTABLE DIRECTORY: /usr/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - universal-darwin-14
  - GEM PATHS:
     - /Library/Ruby/Gems/2.0.0
     - /Users/mylogin/.gem/ruby/2.0.0 # <-- This guy, right here.
     - /System/Library/.../usr/lib/ruby/gems/2.0.0
  ...

sudoINGは必要ありません。すでにインストールされているルビーを使用できます(アップル提供)。


3
+1:これは私にとってはうまくいきました。誰もが使用しているマシンのシステム管理者ではないため、「sudo」、「chown」、または類似のツールにアクセスできるわけではありません。同様に、すべてのユーザーが共有するディレクトリではなく、ユーザーのホームディレクトリ内のディレクトリにgemをインストールする「gem install --user-install」に注意する必要があります。
一部のガイ

12

rbenv rehashはローカルのGemライブラリを指すようにする必要がありました。

Gemマネージャーがシステムライブラリをポイントしているようです。権限をいじる代わりに、マネージャーがローカルでポイントするように「リハッシュ」するのと同じことを行ってください。


3
将来のエクスプローラ:rbenv rehashは非推奨になりましたgithub.com/rbenv/rbenv-gem-rehash
TCannadySF

12

古くて賢い

ここで私が言うことを行わないでくださいsudo。使用するときは常に警戒してください。おそらく、rbenv実行している作業を分離するようなものを使用したいと思うでしょう。


について学ぶ chown

コマンドラインが好きかどうかはわかりませんが、これにより、システムにパッケージをインストールするツールを使用してプロジェクトを簡単に行うことができます。

chown 私の知る限り、所有権の変更を表します。

私がこの答えを探しに来た理由は、gem install今日このエラーを私に投げたからです:

ERROR:  While executing gem ... (Gem::FilePermissionError)
    You don't have write permissions into the /var/lib/gems/1.9.1 directory.

これは使用する絶好の機会chownです。Rubyからアクセスする必要のあるディレクトリが提供されていることがわかります。これは、かなり頻繁に使用するディレクトリのようです。

この場合、問題を解決するために知っておくべきことが3つだけありますが、chownはるかに強力であり、これから説明するよりもはるかに柔軟性が高くなります。詳細については、下部のソースを参照してください。

二つのこと

  1. ユーザー名
  2. ディレクトリ

シェルにいる場合、ユーザー名を見つけるのは簡単です。プロンプトを見てください。鉱山は次のようになります。

breadly@breadly-desktop:~\Desktop

現在のユーザーはの前の名前@です。エラーメッセージからディレクトリがわかりますが、2つの選択肢があります。を使用して現在のバージョンへのアクセス許可を制限するか../gems/1.9.1、を使用してすべてのバージョンのgemに対する書き込みアクセス許可を自分に与えることができます../gems

実際に所有権を変更するコマンドは次のようになります。

chown -R $(whoami) /absolute/path/to/directory

-Rフラグとして知られている-Rフラグは通常、再帰的に何かをするコマンドを伝え、つまりディレクトリに含まれるすべてのものの上にコマンドを実行し、すべてのものが含まれているディレクトリに含まれている、とそうまでに他には何もありません。


また、ユーザーがどのグループに属しているかを知りたい場合は、これを参照してください。stackoverflow.com/questions/350141/...
Breedly

3
ただし、/ usr / local / binディレクトリにインストールする必要がある場合は、所有権の変更に注意する必要があります。
ブリードリー2013

16
/ usr、/ Library、/ varなどのパスの所有権を変更することは悪い考えです。ファイルとドライバーにアクセスできなくなったためにシステムが停止する可能性があり、インストーラーがパスがroot:wheelによって所有されなくなったことをインストーラーが感知した場合、将来の更新が中断する可能性があります。損傷の修正は非常に困難な場合があり、通常はOSを再インストールすることをお勧めします。初心者/経験の浅いユーザーは、どのファイル/ディレクトリが安全である可能性があるかを理解するのに十分なOSを知らないため、自宅でこれを試さないように注意する必要があります。
Tin Man

笑これは恥ずかしい答えです。:)古くて賢い今私は推測します。
ブリードリー、

11

Macをフォーマットしましたが、提案された多くの解決策がうまくいきませんでした。私のために働いたのは、正しい順序でこれらのコマンドです:

  1. Homebrewをインストールします。

    /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  2. Rubyをインストールします。

    brew install ruby
  3. コンパスをインストールします。

    sudo gem install compass

あなたはsudogemで何かをインストールするために使う必要は決してないはずです。を使用sudoすると、所有しているRubyではなく、システムが所有しているRubyにインストールされます。サンドボックス化されたRubyを使用すると、プログラミング時に管理と使用がはるかに簡単になります。これは、複数の異なるインスタンスを作成してさまざまなことを試し、完了したらそれらを破棄できるためです。
Tin Man


6

私のために働く:

sudo gem uninstall cocoapods

sudo gem install cocoapods

すごい働きました!ありがとう。rbenvまたはRVMをインストールする手間を省く
NaXir

5
他のコメントで指摘されているように、宝石をrootとしてインストールすることは危険な慣行であるため、反対投票。インストーラーはシステムに対して文字通り何でもできます。
一部のガイ

@SomeGuy:「インストーラーは文字通り何でもできる」...ユーザー自身がコマンドをファットフィンガーしてシステムを壊す可能性が高いです。インストーラーがシステムをめちゃくちゃにしたときのことは考えられませんが、行ったときのことははっきり覚えています。sudo初心者が大好きなコマンドです。間違ったことが簡単にできるようになり、適切にパラノイアになるには何年もかかります。
ティンマン

1
ベストアンサー!!!! これらの2つのコマンドを実行した後、ターミナルを再起動してください。どうもありがとう!!!
nosequeweaponer

4

Rubyのバージョンが正しいかどうかを確認してください。そうでない場合は、変更してください。

これは私にとってはうまくいきます:

$ rbenv global 1.9.3-p547
$ gem update --system

これはより良い解決策です:update> chown。ありがとう!。私も走らなければなりbrew install ruby
ませんでした

4

rbenvをインストールする brew install rbenvます。

次に置く eval "$(rbenv init -)"〜/ .bash_profile(またはMacOSの〜/ .zshrc)の最後にします。

新しいターミナルを開いて実行してgem install ***ください!


うまくいきませんでした ❯ brew install rbenv -q Warning: rbenv 1.1.1 is already installed and up-to-date To reinstall 1.1.1, run `brew reinstall rbenv` ~/.gem/ruby/2.3.0/gems/colorls-1.1.1 ❯ eval "$(rbenv init -)" ~/.gem/ruby/2.3.0/gems/colorls-1.1.1 ❯ gem update Updating installed gems Updating CFPropertyList ERROR: While executing gem ... (Gem::FilePermissionError) You don't have write permissions for the /Library/Ruby/Gems/2.3.0 directory.
Max Coplan

2

bobbdelsolが指摘したように、rehashは私のために働いた:

==> which ruby
/usr/bin/ruby

==> rbenv install 1.9.3-p551
Downloading ruby-1.9.3-p551.tar.bz2...
-> https://cache.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p551.tar.bz2
Installing ruby-1.9.3-p551...
Installed ruby-1.9.3-p551 to /Users/username/.rbenv/versions/1.9.3-p551


==> which ruby
/Users/username/.rbenv/shims/ruby

==> which gem
/Users/username/.rbenv/shims/gem

==> gem install compass
ERROR:  While executing gem ... (Gem::FilePermissionError)
    You don't have write permissions for the /Library/Ruby/Gems/2.0.0 directory.


==> ruby -v
ruby 2.0.0p648 (2015-12-16 revision 53162) [universal.x86_64-darwin15]


==> rbenv global 1.9.3-p551


==> ruby -v
ruby 2.0.0p648 (2015-12-16 revision 53162) [universal.x86_64-darwin15]


==> rbenv global 1.9.3-p551


==> rbenv rehash


==> ruby -v
ruby 1.9.3p551 (2014-11-13 revision 48407) [x86_64-darwin15.4.0]


==> gem install compass
Fetching: sass-3.4.22.gem (100%)
Fetching: multi_json-1.11.3.gem (100%)
Fetching: compass-core-1.0.3.gem (100%)
Fetching: compass-import-once-1.0.5.gem (100%)
Fetching: chunky_png-1.3.5.gem (100%)
Fetching: rb-fsevent-0.9.7.gem (100%)
Fetching: ffi-1.9.10.gem (100%)
Building native extensions.  This could take a while...
Fetching: rb-inotify-0.9.7.gem (100%)
Fetching: compass-1.0.3.gem (100%)
    Compass is charityware. If you love it, please donate on our behalf at http://umdf.org/compass Thanks!
Successfully installed sass-3.4.22
Successfully installed multi_json-1.11.3
Successfully installed compass-core-1.0.3
Successfully installed compass-import-once-1.0.5
Successfully installed chunky_png-1.3.5
Successfully installed rb-fsevent-0.9.7
Successfully installed ffi-1.9.10
Successfully installed rb-inotify-0.9.7
Successfully installed compass-1.0.3
9 gems installed
Installing ri documentation for sass-3.4.22...
Installing ri documentation for multi_json-1.11.3...
Installing ri documentation for compass-core-1.0.3...
Installing ri documentation for compass-import-once-1.0.5...
Installing ri documentation for chunky_png-1.3.5...
Installing ri documentation for rb-fsevent-0.9.7...
Installing ri documentation for ffi-1.9.10...
Installing ri documentation for rb-inotify-0.9.7...
Installing ri documentation for compass-1.0.3...
Installing RDoc documentation for sass-3.4.22...
Installing RDoc documentation for multi_json-1.11.3...
Installing RDoc documentation for compass-core-1.0.3...
Installing RDoc documentation for compass-import-once-1.0.5...
Installing RDoc documentation for chunky_png-1.3.5...
Installing RDoc documentation for rb-fsevent-0.9.7...
Installing RDoc documentation for ffi-1.9.10...
Installing RDoc documentation for rb-inotify-0.9.7...
Installing RDoc documentation for compass-1.0.3...

すごく近い。まだ「エラー:gemの実行中...(Gem :: FilePermissionError)/Library/Ruby/Gems/2.0.0ディレクトリへの書き込み権限がありません。」
JGallardo 16

1

MacOS Mojaveで正常にテスト済み:

  1. 古いRubyバージョンをすべてアンインストールします(2.00と2.3.0があるとしましょう)。

    $ rvm uninstall 2.0.0

    $ rvm uninstall 2.3.0

  2. 新しいRubyバージョンをインストールします。

    $ brew install ruby

  3. バージョンにデフォルトのエイリアスを設定します。

    $ rvm alias create default ruby

  4. これがコンピュータが最近インストールされた新しいルビバージョンをロードする最も安全な方法であるため、システムを再起動します。

上記の手順を完了すると、任意のgemコマンドを正常に実行できます。


-2

cd /ライブラリ/Ruby/Gems/2.0.0

開いた 。

右クリックで情報を取得

クリックロック

場所のパスワード

すべてを読み書き可能にします。


1
読みやすいように回答をフォーマットしてください。研究と説明に費やした努力は報われます。
Tin Man

-2

ユーザー$ whoamiにそれらのフォルダーに何かを作成することを許可します

sudo chown -R user /Library/Ruby/Gems/2.0.0

いいえ。そのフォルダは正当な理由でシステムによって所有されています。システムは独自の目的でそれを使用します。それを指すスクリプトを実行することは問題ありませんが、それを台無しにしたい場合は、サンドボックス化されたRubyを作成して使用してください。
Tin Man


-4

gemのインストールまたはRubyGemsの更新がアクセス許可エラーで失敗し、このコマンドを入力する

sudo gem install cocoapods

1
これは他の回答でカバーされています。回答を作成する前に、他の回答を読んで、新しい回答を提供してください。
Tin Man


-18

エラーの理由は、ターミナルにrootユーザーとしてログインしていないためです。

すでにrootを使用している場合は、Macでターミナルタイプを有効にします

$ su

rootユーザーがいない場合は、次の手順を使用して有効にする必要があります

  1. アップルメニューから[システム環境設定]を選択します。
  2. [表示]メニューから[ユーザーとグループ]を選択します。
  3. カギをクリックして、管理者アカウントとして認証します。
  4. [ログインオプション...]をクリックします。
  5. 右下の「編集...」または「参加...」ボタンをクリックします。
  6. 「Open Directory Utility…」ボタンをクリックします。
  7. [ディレクトリユーティリティ]ウィンドウでカギをクリックします。
  8. 管理者アカウント名とパスワードを入力して、[OK]をクリックします。
  9. 「編集」メニューから「ルートユーザーを有効にする」を選択します。
  10. 使用するrootパスワードを「パスワード」フィールドと「確認」フィールドの両方に入力して、「OK」をクリックします。

詳細については、http://support.apple.com/kb/ht1528をご覧ください。

少なくとも数時間はまってしまった後、それは私にとってはうまくいきます。


なぜ反対票?理由を書いて頂けますか?
Mohammad Arif 2014年

8
ルートとして宝石をインストールすることは悪い考えです。stackoverflow.com/questions/2119064/...
spuder
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.