小编典典

无法在 OS X“El Capitan”上安装 gem

all

我无法fakes3在 El Capitan Beta 5 上安装和运行 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.

阅读 147

收藏
2022-08-01

共1个答案

小编典典

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

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

选项 1:继续使用 sudo

如果您希望在全球范围内安装这些工具,则使用sudo可能很好。

问题是这些二进制文件被安装到/usr/bin,这是自 El Capitan
以来的禁区。但是,您可以将它们安装到其中/usr/local/bin。那是Homebrew安装它的地方,所以它可能已经存在。

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

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

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

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

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

将其设为默认值

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

gem: -n/usr/local/bin

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

或者

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

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

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

2022-08-01