10

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

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

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

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

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

4

4 回答 4

11

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

我不能代表 rbenv,但是 RVM 会预先为您提供一个特定bin于您PATH可以访问的 Ruby 版本,因此您不必使用sudo(这是您在当前情况下安装 gems 的方式,但非常不鼓励) .

rbenv 类似地预先添加到您的$PATH中,但它使用 shim。

于 2013-10-25T01:14:46.943 回答
10

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

由于使用sudo安装 gems 是一个非常糟糕的主意,我用 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 和 gems 以及您的用户权限,因此您不必使用sudo或获得权限错误。新的宝石位置是:

~/.rvm/gems

然后继续你原来的...

gem install ....
于 2014-09-09T12:51:47.237 回答
5

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

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

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

于 2014-03-14T08:00:24.827 回答
0

就像在浪费了一个小时或更长时间试图安装 RubyGems 之后对大家说的那样...... ruby ​​gems-2.4.5 'sudo'让我通过了!它是一种享受...

于 2015-01-28T00:15:01.310 回答