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

17 浏览
0 Comments

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

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

我尝试过:

sudo gem install fakes3
错误:在执行gem时(Errno :: EPERM)
    操作不允许 - /usr/bin/fakes3

然后我尝试使用cocoapods的方法。对于cocoapods来说可以工作,但对于fakes3来说不行。

mkdir -p $HOME/Software/ruby
export GEM_HOME=$HOME/Software/ruby
gem install cocoapods
[...]
1个gem已安装
gem install fakes3
错误:在执行gem时(Gem :: FilePermissionError)
    您没有对/Library/Ruby/Gems/2.0.0目录的写入权限。

0
0 Comments

由于OS X "El Capitan"的新安全功能,无法安装gems。

尝试使用--user-install而不是使用sudo:

$ gem install *** --user-install

例如,如果您想要安装fake3,只需使用以下命令:

$ gem install fake3 --user-install

是的!非常感谢!

在使用brew方法、关闭终端等等的30分钟后,最后这个解决方法在10.10.5上起作用了。但仍然不确定为什么brew方法不起作用。请解释一下。brew install /usr/bin/ruby

哇,现在问题又回来了。gem install redcarpet -v '3.3.4' --user-install 报错警告:您的PATH中没有/Users/user_name/.gem/ruby/2.0.0/bin,将无法运行gem可执行文件。之前我没有遇到这个错误。

stackoverflow.com/questions/19579392/…,这个链接最终帮助我解决了这个问题。

0
0 Comments

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

“免责声明:Ruby和其他Ruby开发人员经常指出在安装宝石时不要使用sudo,并指向诸如RVM之类的工具。当进行Ruby开发时,这是绝对正确的。可以放心使用。

然而,我们中的许多人只想要一些以宝石形式分发的二进制文件(例如fakes3,cocoapods,xcpretty等)。我绝对不想费心管理一个单独的ruby。以下是更快的选择:

选项1:继续使用sudo

如果要将这些工具安装到全局,请使用sudo。

问题是这些二进制文件安装到了/usr/bin,而自从El Capitan以来这是受到限制的。但是,您可以将它们安装到/usr/local/bin中。那是Homebrew安装东西的地方,所以它可能已经存在。

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

宝石将安装到/usr/local/bin中,如果在用户的PATH中,则系统上的每个用户都可以使用它们。

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

以下将在~/.gem中安装宝石,并将二进制文件放在~/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开发者文档。)

非常感谢!我一直在苦苦挣扎于brew和ruby的新版本,但仍然无法解决/usr/bin问题。在运行gem install时指定所需路径解决了问题。

.gemrc应该是gem: -n /usr/local/bin(-n后需要一个空格)。

好吧,我现在已经连续五个月使用它而没有空格。:) 你确定吗?

支持选项2,如果您只想要这些二进制文件而不需要单独的Ruby,这是一个可行且安全的选择。我们的主目录是添加宝石的理想位置,通过快速调整PATH使它们可访问。我不能推荐选项1,因为某些人将最终覆盖宝石并破坏他们的系统Ruby或使用它的Apple内置代码,然后他们将在SO上提出另一个关于如何修复它的问题。

确实,在我尝试的下一台机器上,没有空格也可以运行。

太棒了!这使我能够顺利安装jazzy。参见github.com/realm/jazzygithub.com/realm/jazzy/issues/570,最初的错误是“ERROR: While executing gem ... (Errno::EPERM) Operation not permitted - /usr/bin/xcodeproj”

我尝试了使用sudo gem install jekyll -n/usr/local/bin的选项1,但是我遇到了这个错误:Fetching: liquid-3.0.6.gem (100%) Successfully installed liquid-3.0.6 Fetching: kramdown-1.11.1.gem (100%) ERROR: While executing gem ... (Errno::ENOENT) No such file or directory - /usr/local/bin。它可以解决吗?

/usr/local/bin不存在。查看“probably”链接以了解如何创建它。

刚刚升级到El Capitan并且需要安装一个宝石,选项1非常有用。非常感谢。

那么...您推荐哪个选项?

这是一个很好的答案,但可能已过时。在Sierra上,我需要的选项是--install-dir /usr/local/bin

你是个能人!谢谢,这正是我在寻找的:)

我建议将所有宝石安装到您的主文件夹中的.gem文件夹中,以避免使用sudo或Ruby版本管理器。您只需要通过添加以下两行来更新您的.bash_profile文件。(应用这些更改后不要忘记重新启动终端)export GEM_HOME=~/.gem export PATH="$GEM_HOME/bin:$PATH"

0
0 Comments

无法在OS X "El Capitan"上安装gems的原因是Mac OS自带的Ruby安装存在问题。解决方法是重新使用Brew安装Ruby,并且在安装完成后重新登出和登入,或者重新启动终端。此外,还可以使用which -a ruby命令来查看当前正在运行的Ruby版本,使用rehash命令来更新Shell中的ruby路径,或者通过将新的Ruby路径添加到PATH中来解决这个问题。

具体解决方法如下:

1. 使用Brew重新安装Ruby:

brew install ruby

2. 重新登出和登入终端,或者重新启动终端。

3. 使用which -a ruby命令查看当前正在运行的Ruby版本。

4. 使用rehash命令更新Shell中的ruby路径。

5. 如果以上方法仍然无效,可以将新的Ruby路径添加到PATH中:echo 'export PATH="/usr/local/opt/ruby/bin:$PATH"' >> ~/.bash_profile

0