21

rvm を使用して gem をインストールしようとすると、このエラーが発生します

$ rvm gem install sproutcore
ERROR:  While executing gem ... (Errno::EACCES)
Permission denied - /home/tee/.gem/specs

しかし、rvm サイトでは sudo を使用すべきではないと書かれているため、セットアップの何が問題なのかわかりません

$GEM_HOME と入力すると、ディレクトリが rvm ディレクトリを指していることがわかります

$GEM_HOME
bash: /home/tee/.rvm/gems/ruby-1.8.7-p302: is a directory

私が間違っていることはありますか?

4

5 に答える 5

19

.gem フォルダーにアクセス許可の問題があります。所有者が現在のユーザーであることを確認してください。

sudo chown -R tee /home/tee/.gem

うまくいかない場合は、.gem フォルダーを削除します。gem キャッシュを更新すると、自動的に作成されます。

また、rvm で sudo を使用していないことを確認してください。

于 2010-10-04T17:35:00.650 に答える
15

私は同じ問題を抱えていました。このコマンドをやり直しました

user$ source ~/.rvm/scripts/rvm

新しいターミナルウィンドウから(rvmのインストール時に提案され、rvmのインストール時に見落とされた可能性があります)、その後は問題ないように見えました

于 2014-01-06T20:31:29.650 に答える
7

http://rvm.io/set/gem/

あるいは単に

$ rvm <ruby_version>
$ gem install sproutcode

これは間違いなく機能するはずです。

于 2010-10-04T08:35:43.333 に答える
2

おそらく正しい方法ではありませんが、rvmsudoを使用すると問題が解決することがわかりました。

rvmsudo gem インストール レール

于 2010-10-05T06:39:02.167 に答える
2

RVM が /usr/local/rvm にグローバルにインストールされていたため、同じ問題が発生していたため、Ruby ディレクトリに gem をインストールする権限がありませんでした。

回避策はシングル ユーザー インストールを使用することです。これにより、rvm がユーザーのホーム ディレクトリ (~/.rvm) にインストールされ、gemset と gem をインストールするために必要なすべての権限が付与されます。

件名をよりよく知りたい場合は、https://rvm.io/rvm/installをお読みください。シングル ユーザー インストールが推奨されることがわかります。

于 2013-06-04T12:50:07.207 に答える