2011-07-05 9 views
0

bundle installを実行しようとしたときに、mysql-2.8.1.gemにエラーが発生しました。私はコマンドをクリーンアップしようとしたが、同じエラーが発生します。mysql-2.8.1 gemエラー

Fetching: mysql-2.8.1.gem (100%)
ERROR: While executing gem ... (Gem::FilePermissionError) You don't have write permissions into the /usr/local/lib/ruby/gems/1.8 directory.

+1

ruby​​gemsをあなたのホームディレクトリにインストールするように指示することができます。あなたまたはその動作を開始しているユーザがフォルダへのアクセス権を持っていないことを明示しています... –

+0

フォルダ。私は唯一のユーザーです。 – conpill

+0

これをスーパーユーザーに移して投票しました。それはプログラミングに関する質問ではありません。それはあなたが使っている* nix、つまりUbuntuを知るのに役立ちますか? –

答えて

0

Rubygemsはデフォルトでシステム全体のアクセス用に宝石をインストールしようとしますが、ホームディレクトリのディレクトリにインストールできるモードがあります。

1つのオプションは、gem sytemwideをインストールすることです。root権限が必要です。最新のLinuxディストリビューションでは、sudo gem install ...を使ってこれを行うことができます。

これをあなたのホームディレクトリに入れたかったら、rubygemsは、通常のユーザとしてインストールしようとすると自動的にあなたのホームディレクトリに宝石をインストールするように設定されていないことに注意してください。 gemをホームディレクトリにインストールすることを具体的に指示していない限り、エラーメッセージ(ここに表示されているエラーメッセージ)を表示します。 gem install --user-install ...

+0

私は問題を理解しました。ちょうどmysqlを再インストールしました。みんな、ありがとう – conpill

2

上記のコメントで述べたように、これは、アクセス許可の問題であり、それはプログラミングの問題ではありませんので、スーパーユーザーのためにそれを移動するために正しいことになります。これはエラーメッセージです。

rvmを使用せずにバンドルインストールを実行すると、バンドルは新しくバンドルされた宝石を通常は/ usrのどこかにあるデフォルトのgemディレクトリに保存しようとします。

通常のユーザーには、このディレクトリへの書き込みアクセス権がありません。 sudoで同じコマンドを実行しようとすると、sudo bundle installとなります。それはうまくいくかもしれない。

本当にあなたのgemsetsをきれいに保つのに役立ち、これらの問題にぶつからないようにするために、このようなことをするためにrvmを使用することをお勧めします。

+1

[bundle-installマンページ](http://)の指示に従って 'sudo bundle install'を使用しないでください。 gembundler.com/man/bundle-install.1.html) –

関連する問題