21
votes

When trying to install gems using rvm i get this error

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

but it says on the rvm site that you should not use sudo so I'm not sure whats wrong with my setup

when i type $GEM_HOME it shows that the directory is pointing to the rvm dir

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

Any ideas what I'm doing wrong?

5
I think you have to "sudo chown -R tee /home/tee/.gem/"hellvinz
note that "rvm gem ..." has been removed. Use "rvm all do gem install GEMNAME" insteadkraftydevil
Exactly the solution for me, @kraftydevil ... why don't you post your comment as an answer :)pesho hristov

5 Answers

19
votes

There's a permission issue with your .gem folder. Make sure the owner is your current user.

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

If it doesn't work, remove the .gem folder. It is automatically created when you update the gem cache.

Also, make sure you never used sudo with rvm.

15
votes

I was having the same problem. I redid this command

user$ source ~/.rvm/scripts/rvm

from a new terminal window (as suggested when installing rvm and possibly overlooked when I was installing rvm) and things seemed to be fine after that

7
votes

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

or just

$ rvm <ruby_version>
$ gem install sproutcode

This should definitely work.

2
votes

its probably not the correct way of doing things but I found that using rvmsudo resolved the issue, eg

rvmsudo gem install rails

2
votes

I was having the same problem because the RVM was installed globally, in /usr/local/rvm , so it had no permission to install gems in ruby directory.

The workaround is to use Single User Installation, this will install your rvm in your user's home directtory(~/.rvm) so it will have all necessary permissions to install the gemsets and gems.

If you want to know the subject better read https://rvm.io/rvm/install . You will see that Single User Install is the recommended .