gem update/install 自 el capitan 以来不允许操作。如何设置默认路径

gem update/install operation not permitted since el capitan. how to set default path

有人知道为什么 在更新到 Mac OS El Capitan gem 后开始出现 installupdate 命令?

示例:


$ sudo gem update
Password:
Updating installed gems
Updating bundler
ERROR:  While executing gem ... (Errno::EPERM)
  Operation not permitted - /usr/bin/bundle

出于某种原因,必须明确设置路径。示例:


$ sudo gem install -n /usr/local/bin sass
Password:
Fetching: sass-3.4.19.gem (100%)
Successfully installed sass-3.4.19
Parsing documentation for sass-3.4.19
Installing ri documentation for sass-3.4.19
Done installing documentation for sass after 6 seconds
1 gem installed

这很烦人!有没有办法让 /usr/local/bin 默认?

遇到同样的问题,发现这个:

  • 在按住 ⌘R 的同时重新启动以启动进入 Recovery HD。
  • 打开终端(从实用程序菜单)。
  • 运行 在终端中输入以下命令: csrutil disable
  • 重启

来源:https://georgegarside.com/blog/osx/package-incompatible-installer/

这不是直接回答你的问题,但由于你接受的答案有点危险,我想分享一下我是如何解决无法安装 gem 的实际问题的。

就我而言,我遇到了罗盘问题并且出现了同样的错误,这是我在搜索中输入的内容,Google 将我带到了这里。我运行

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

但是如果您在新计算机上进行全新安装。确保安装了 bash。这是我所做的一个简短的 t运行脚本。

如果您使用 homebrew,您可以在以下命令中尝试另一种解决方案。这确实涉及安装 Ruby 的自制版本。这为我解决了问题,尽管我对 Unix 的了解处于中等水平。所以我不能说让自己拥有 /usr/local 是明智还是不明智。也许 Unix 专家可以在这里插话。

$ sudo chown -R $(whoami):admin /usr/local
$ brew update
$ brew install ruby

来源:http://www.hacksparrow.com/os-x-el-capitan-screwed-up-ruby-gems-and-how-to-fix-it.html