错误:执行 gem 时 ...(Errno::EPERM)不允许操作 [重复]

Posted

技术标签:

【中文标题】错误:执行 gem 时 ...(Errno::EPERM)不允许操作 [重复]【英文标题】:ERROR: While executing gem ... (Errno::EPERM) Operation not permitted [duplicate] 【发布时间】:2015-12-29 18:23:49 【问题描述】:

我刚刚将我的 Mac 更新到 OSX 10.11 El Capitan,一些 gem 没有保留。

当我尝试运行不同 gem 的安装时出现了问题...例如:

> sudo gem install compass

一旦我执行,我就会得到错误:

> ERROR:  While executing gem ... (Errno::EPERM) Operation not permitted

其他宝石也会发生这种情况......

我已经运行 Homebrew 并尝试再次安装 Ruby,但没有任何效果。

【问题讨论】:

在终端中写这个命令:sudo gem install -n /usr/local/bin cocoapods 通过echo "gem: -n/usr/local/bin" >> ~/.gemrc更改安装gem的默认路径 【参考方案1】:

我找到了关于 SASS 问题的答案: https://github.com/sass/sass/issues/1768

OSX el Capitan 开始,有一个新的安全功能可以防止您修改系统文件,称为 Rootless。所以你有两个选择:

如果你在 /usr/local/bin 上安装 gems 不会有问题,因为 rootless 不会影响这个路径。

sudo gem install -n /usr/local/bin GEM_NAME_HERE

【讨论】:

在 Roy 所说的基础上,here 是关于该问题的自制文档的链接,here 是来自 Reddit 的链接,详细说明了适当的升级;也许你可以看看那里的任何尝试是否会有所帮助。 “禁用无根功能并在重启后安装 gems”对我不起作用。但是,“sudo gem install -n /usr/local/bin GEM_NAME_HERE”解决了我的问题。谢谢。 这个解决方案女巫sudo gem install -n /usr/local/bin GEM_NAME_HERE 对我来说非常完美(OS X 10.11.1)。再次安装 sass 和 compass,使用这个命令很容易。顺便说一句,这似乎是最突出的解决方案。例如在这里找到:github.com/sass/sass/issues/1768 在现有问题中:***.com/questions/31972968/… 我从 VNC 在 MAC OS 上运行 gem install。由于某些原因,它返回错误 ERROR: While execution gem ... (Errno::EPERM) Operation not allowed - 。然后命令: sudo gem install -n /usr/local/bin GEM_NAME_HERE 对我来说效果很好。谢谢 一次性为我工作...谢谢【参考方案2】:

您遇到此问题是因为一项名为 System Integrity Protection 的新安全功能

您可以按照下面提到的过程禁用 SIP:

    通过重新启动计算机将 Mac 重新启动到恢复模式,然后 按住 Command+R 直到 Apple 标志出现在屏幕上。 单击实用程序 > 终端。 在终端窗口中,输入 csrutil disable 并按 Enter。 重新启动您的 Mac。

【讨论】:

没错,阿比德。谢谢 但是,其他解决方案更容易 IMO /usr/local/bin 安装 gem 是一个很酷的解决方案,考虑到 "Roorless",虽然我不确定,但您可能会遇到问题从 /usr/lib/... 文件夹执行某些操作时,例如mysql 可能会导致 libmysqlclient.18.dylib 出现问题 我相信 Apple 会提出一些指导或解决方案,因为 “Rootless” 会导致开发人员出现问题 对我来说,添加“rootless=0”作为引导参数不起作用,但是使用 csrutil 可以。谢谢! 禁用 rootless 是个坏主意。除非你有充分的理由,否则不要这样做。需要安装 gem 不是一个好的理由。 是的,它工作正常。谢谢你的兄弟。

以上是关于错误:执行 gem 时 ...(Errno::EPERM)不允许操作 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

在Ruby中捆绑gem加载错误

如何删除 Permission denied @ rb_sysopen - Gem 安装错误?

安装gem“设计”时如何修复错误?

在 Windows 8.1 中使用 gem 安装 sass 时出错

在 OSX 上安装 rmagick gem 时出错 - 错误:无法构建 gem 原生扩展

每当我使用gem命令时,为什么Ruby会抛出语法错误?