无法在OS X "El Capitan"上安装gems。
无法在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目录的写入权限。
由于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/…,这个链接最终帮助我解决了这个问题。
无法在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/jazzy和github.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"
”
无法在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