Railsのインストール時に、「/ usr / binディレクトリへの書き込み権限がない」というエラーを修正するにはどうすればよいですか?


131

私は、OS X 10.6.3、Ruby 1.8.7、およびRails 2.3.5を実行している新しいMacBook ProにRails 3をインストールしようとしています。これまでのところ、私はこれらのコマンドを実行しました:

$ gem update --system
$ gem install arel tzinfo builder memcache-client rack rack-test rack-mount erubis mail text-format thor bundler i18n
$ gem install rails --pre

しかし、最後のコマンドを実行すると、次のエラーが発生します。

ERROR:  While executing gem ... (Gem::FilePermissionError)
    You don't have write permissions into the /usr/bin directory.

sudo上書きできるように、コマンドを実行する必要があると思います/usr/bin/rails。しかし、その場合、Rails 2.3.5実行可能ファイルを上書きしませんか?やりたくない。代わりに、Railsの両方のバージョンを保持したいと思います。それ、どうやったら出来るの?


5
私は、最初のコマンドで同じエラーを取得して、このコマンドを使用してsudo gem update --system -n /usr/local/bin
nitish005

1
-nとは何ですか?
Scott Romack

端末を再起動するだけでこれが解決したということをここで説明します。
アッシュウッド

回答:



479

-nパラメータを使用して、cocoapodsのようにインストールします。

sudo gem install cocoapods -n /usr/local/bin

7
なぜこれが必要なのでしょうか?
nenchev 2017年

28
-n / usr / local / binを指定しない限り、MacOSでは失敗します。解決策をありがとう
Sacky San

3
-nの意味は?
アレンリンリ

7
guides.rubygems.org/command-reference/#gem-installによると、-nはバイナリが配置されているディレクトリを指定します。-n /usr/local/binMac にも必要でした。which pod実際に/ usr / local / binであった-nオプションを使用する前に、既存の場所を特定するために実行しました
mwu

3
私はRVMがすばらしいと確信していますが、これは、私にうさぎの穴を開けることなく直接の問題に直接対処するより良い答えです。
ウェイン

61

使用-nは/ usr / local / binにフラグを作業を行いますが、私はこのページに戻り、私はもう一度パッケージを更新したいたびに来ていました。だから私はこれに対する恒久的な修正を見つけました。

これを永久に修正することに興味がある人のために:

〜/ .gemrcファイルを作成する

vim .gemrc

次の内容で:

:gemdir:
   - ~/.gem/ruby
install: -n /usr/local/bin

これで、-nフラグなしでコマンドを通常どおり実行できます。

楽しい!


vim .gemrcこのcmdの書き方
Chandni

これがWindow $で機能するかどうかはわかりませんが、メモ帳を使用できると思います。
フランソワナドー

ありがとう、あなたと同じように、更新する必要があるたびにこのサフィックスを探すのに疲れていました!
ポールエティエンヌ

48
sudo gem install cocoapods --pre -n /usr/local/bin

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


私にはこの問題があり、この答えは私のために働いた!cocoapods必要な依存関係に置き換えました
クリス

33

使用できます sudo gem install -n /usr/local/bin cocoapods

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



5

RVMを正しくインストールした後、このエラーが発生しました。解決策:ターミナルを再起動します。

RailsCastのRVMインストールチュートリアルを参照してください。


正確に7年後ではありませんが、これはWindows Bashサブシステムで作業している場合にも機能します。bashを終了して、もう一度起動します。ありがとうございました。
ペドロマドリード

0

私にとっては、同じような質問からのこの答えで見つけた別のことがうまくいきました。おそらくOPの助けにはなりませんが、おそらく私のような誰かが同様の問題を抱えていました。

実際にはrvmを使用する必要がありますが、rvm なしでこれを行う方法を誰も説明しなかったので、ここに行きます:

sudo gem install tzinfo builder memcache-client rack rack-test rack-mount \
  abstract erubis activesupport mime-types mail text-hyphen text-format   \
  thor i18n rake bundler arel railties rails --prerelease --force

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.