安装gem失败,权限错误

昨天我将Mac OS更新为10.9 Mavericks。 我目前的Ruby版本显示为

ruby 2.0.0p247(2013-06-27修订版41674)[universal.x86_64-darwin13]

我在我的机器上安装了Rails,当我尝试安装gem时,我收到以下消息:

获取:eventmachine-1.0.3.gem(100%)
错误:执行gem时...(Gem :: FilePermissionError)
您没有/Library/Ruby/Gems/2.0.0目录的写权限。

我在我的主目录中尝试所有这些。 有什么建议?

使用Ruby版本管理器,如RVM或rbenv 。

我不能代表rbenv,但是RVM会为您可以访问的PATH预装一个特定于Ruby版本的bin ,因此您不必使用sudo (这是您在当前情况下安装gem的方法,但是非常沮丧)。

rbenv同样适用于你的$PATH ,但它使用垫片。

当我遇到同样的错误时,因为我没有安装Ruby版本管理器,它默认为我的计算机附带的Ruby版本。

由于使用sudo安装gem是一个非常糟糕的主意,我使用Ruby 2.1.2安装了RVM

 \curl -sSL https://get.rvm.io | bash -s stable --ruby=2.1.2 

然后通过运行确保它被用作默认值

 rvm use ruby-2.1.2 

RVM使用您的用户权限创建一个新的位置来存储您的Ruby和gem,这样您就不必使用sudo或获取权限错误。 新的gem位置是:

 ~/.rvm/gems 

然后继续你…

 gem install .... 

我没有安装RVM。 我收到此错误是因为我安装了rbenv但尚未运行rbenv init

将命令rbenv init的内容插入到.bash_profile后, gem install按预期工作。

我也碰巧首先将rbenv global 设置为下载的Ruby版本。

就像在尝试安装RubyGems浪费了一个小时或更长时间之后向大家说…对rubygems-2.4.5’sudo 让我通过了! 它有效…