ruby - 无法在 OS X "El Capitan"上安装 gems

标签 ruby macos rubygems

我无法在 El Capitan Beta 5 上安装和运行 fakes3 gem。

我试过:

sudo gem install fakes3
ERROR:  While executing gem ... (Errno::EPERM)
    Operation not permitted - /usr/bin/fakes3

然后我尝试用 cocoapods 的方式来做。它适用于 cocoapods 但不适用于 fakes3。

mkdir -p $HOME/Software/ruby
export GEM_HOME=$HOME/Software/ruby
gem install cocoapods
[...]
1 gem installed
gem install fakes3
ERROR:  While executing gem ... (Gem::FilePermissionError)
    You don't have write permissions for the /Library/Ruby/Gems/2.0.0 directory.

最佳答案

免责声明:@theTinMan 和其他 Ruby 开发人员经常指出在安装 gems 时不要使用 sudo 并指向类似 RVM 的东西.在进行 Ruby 开发时,这是绝对正确的。继续使用它。

然而,我们中的许多人只想要一些恰好作为 gem 分发的二进制文件(例如 fakes3cocoapodsxcpretty ……) .我绝对不想费心管理一个单独的 ruby 。以下是您更快的选择:

选项 1:继续使用 sudo

如果您希望全局安装这些工具,使用 sudo 可能没问题。

问题是这些二进制文件安装到 /usr/bin 中,即 off-limits自 El Capitan 以来。但是,您可以将它们安装到 /usr/local/bin 中。那就是Homebrew安装它的东西,所以它probably已经存在。

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

Gems 将被安装到 /usr/local/bin 中,如果它在他们的 PATH 中,您系统上的每个用户都可以使用它们.

选项 2:安装在您的主目录中(不使用 sudo)

以下将在 ~/.gem 中安装 gems,并将二进制文件放入 ~/bin(然后你应该将其添加到你的 PATH ).

gem install fakes3 --user-install -n~/bin

设为默认值

无论哪种方式,您都可以将这些参数添加到您的 ~/.gemrc 中,这样您就不必记住它们:

gem: -n/usr/local/bin

echo "gem: -n/usr/local/bin">> ~/.gemrc

gem: --user-install -n~/bin

echo "gem: --user-install -n~/bin">> ~/.gemrc

(提示:您还可以输入 --no-document 以跳过生成 Ruby 开发人员文档。)

关于ruby - 无法在 OS X "El Capitan"上安装 gems,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34870234/

相关文章:

带有 X509 证书的 Ruby SOAP 响应未通过 XML SignatureValue 验证

ruby - 如何循环计数?

javascript - 如果在js.erb中确认

ruby-on-rails - 无法加载 httparty gem

ruby - 为什么这个 Ruby for 循环会失败?

cocoa - 在 Xcode 框架中公开 header

macos - 有没有人能够限制在 SwiftUI 3 中放置在 mac 上的对象的类型?

macos - 使用 Tomcat 在 Mac OS X 上将 Lucee 设置为开发环境

ruby - 在 Windows 8 上安装 mysql2 gem

ruby - bundler :无法加载命令:faSTLane