2010-12-30 6 views

答えて

2

「ルート」ユーザーがあなたとは異なるアカウントとパスを持っている可能性があるため、おそらく異なるディレクトリにあります。

ルートのアクセスsudoを使用すると、/usr/binまたは/usr/local/binディレクトリにあるRubyのgem環境にファイルを書き込むことができます。 (Gemはそこにファイルを置くことはありませんが、それらのディレクトリの1つにRubyが関連付けられます)。

デフォルトではこれらの領域にアクセスするアクセス権がないため、実行しようとするとgem install、システムRubyしか持っていないと、おそらく権限エラーが発生し、その試みは失敗するはずです。

+0

ありがとうございます!バンドルのインストールはどうですか? – PeterWong

+0

'bundle 'を直接使った経験はありませんが、他のすべてのアプリと同じルールで再生しなければなりません。許可を得ている地域に書き込むことができます。あなた自身で走るなら、それはあなたの所有するあなたのドライブの領域になります。 rootに 'sudo'または' su'として実行すると、rootの権限を引き継いで、ほとんどの場所に書き込みができます。 –

+0

Re:バンドル:正確ではない。私の答えを見てください。 bundlerはシステムに宝石をインストールします。 – vonconrad

1

...

バンドラーは、(同様に、彼らはsudoによってインストールされたい場合に)システムパスに宝石をインストールしバンドラためのようにブリキ男は、sudo対非sudoに答え - 少なくとも上OSX、私は他のOSが同じであると想像していますが。

+1

バンドルの[bundle-install](http://gembundler.com/man/bundle-install.1.html)ドキュメントの「SUDO USAGE」のセクションを読むことをお勧めします。バンドルは他の正常に動作するアプリケーションと同様に動作し、呼び出し元のユーザーのアクセス許可を前提としています。システムディレクトリに書き込む必要がある場合は、許可を求める必要があります。それ自体はできません。 –

+0

'bundle install'は' sudo gem install'と似ていますか?ところで、今日私は何かを再インストールしてenvを再セットアップしました。私は 'sudo'なしで宝石をインストールすることができないことを発見しました。そうでなければ、書き込む許可がないというメッセージを表示します。 – PeterWong

+0

@the Tin Man、' --path'と 'あなたが言いました。それらは 'gem install'と' sudo gem install'に対応していますか? – PeterWong

関連する問題