安装gem失败,权限错误

时间:2013-10-25 01:02:45

标签: ruby macos rubygems

我昨天将Mac OS更新为10.9小牛队。我当前的Ruby版本显示为

  

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

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

Fetching: eventmachine-1.0.3.gem (100%)
ERROR:  While executing gem ... (Gem::FilePermissionError)
You don't have write permissions for the /Library/Ruby/Gems/2.0.0 directory.

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

4 个答案:

答案 0 :(得分:11)

使用Ruby版本管理器,例如RVMrbenv

我不能代表rbenv,但RVM会为您有权访问的bin预设一个特定于Ruby版本的PATH,因此您不必使用sudo (这是你在当前情况下安装宝石的方法,但是非常气馁)。

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

答案 1 :(得分:10)

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

由于使用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或获取权限错误。新的宝石位置是:

~/.rvm/gems

然后按原样继续......

gem install ....

答案 2 :(得分:5)

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

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

我也碰巧首先将rbenv global <ruby-version>设置为下载的Ruby版本。

答案 3 :(得分:0)

就像在尝试安装RubyGems后浪费一个小时或更长时间后向大家说... ruby​​gems-2.4.5 &#39; sudo&# 39; 让我通过! 这是一种享受......