Him*_*dav 182 ruby macos rubygems
我无法fakes3在El Capitan Beta 5上安装和运行gem.
我试过了:
sudo gem install fakes3
ERROR: While executing gem ... (Errno::EPERM)
Operation not permitted - /usr/bin/fakes3
Run Code Online (Sandbox Code Playgroud)
然后我尝试用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.
Run Code Online (Sandbox Code Playgroud)
nsc*_*hum 333
免责声明: @ theTinMan和其他Ruby开发人员经常指出sudo在安装gem时不要使用,而是指向像RVM这样的东西.在进行Ruby开发时,这是绝对正确的.继续使用它.
然而,我们许多人只是想一些二进制碰巧被分配作为宝石(例如fakes3,cocoapods,xcpretty...).我绝对不想打扰管理一个单独的红宝石.以下是您更快捷的选择:
sudo如果您希望全局安装这些工具,则使用可能很好.
问题是这些二进制文件被安装到了/usr/bin,这是自El Capitan以来的禁区.但是,您可以将它们安装到其中/usr/local/bin.这就是Homebrew安装它的东西,所以它可能已经存在了.
sudo gem install fakes3 -n/usr/local/bin
Run Code Online (Sandbox Code Playgroud)
将安装Gems /usr/local/bin,系统中的每个用户都可以使用它们,如果它们在PATH中.
以下将安装gems ~/.gem并将二进制文件放入~/bin(您应该将其添加到您的PATH).
gem install fakes3 --user-install -n~/bin
Run Code Online (Sandbox Code Playgroud)
无论哪种方式,您都可以将这些参数添加到您的~/.gemrc身上,这样您就不必记住它们:
gem: -n/usr/local/bin
Run Code Online (Sandbox Code Playgroud)
即 echo "gem: -n/usr/local/bin" >> ~/.gemrc
要么
gem: --user-install -n~/bin
Run Code Online (Sandbox Code Playgroud)
即 echo "gem: --user-install -n~/bin" >> ~/.gemrc
(提示:您也可以--no-document跳过生成Ruby开发人员文档.)
Fra*_*ull 107
就我而言,我不得不使用Brew重新安装Ruby .这似乎已经解决了问题,因为我可以再次安装宝石.
brew install ruby
Run Code Online (Sandbox Code Playgroud)
在此之后,您需要注销并以图形方式重新登录,或者只是重新启动终端.
小智 38
这是因为OS X"El Capitan"的新安全功能.尝试添加--user-install而不是使用sudo:
$ gem install *** --user-install
Run Code Online (Sandbox Code Playgroud)
例如,如果要安装fake3,只需使用:
$ gem install fake3 --user-install
Run Code Online (Sandbox Code Playgroud)
Fem*_*att 25
sudo gem install -n /usr/local/bin cocoapods
Run Code Online (Sandbox Code Playgroud)
试试这个.它肯定会起作用.
ast*_*epz 19
你必须将Xcode更新到最新版本(v7.0.1),一切都会正常工作.
如果在安装最新的Xcode之后仍然无法工作,请尝试以这种方式安装gem:
sudo gem install -n /usr/local/bin GEM_NAME_HERE
Run Code Online (Sandbox Code Playgroud)
例如:
sudo gem install -n /usr/local/bin fakes3
sudo gem install -n /usr/local/bin compass
sudo gem install -n /usr/local/bin susy
Run Code Online (Sandbox Code Playgroud)
foo*_*bar 10
看起来在升级到OS X El Capitain时,/ usr/local目录以多种方式进行修改:
[编辑]还有一个初步的事情要做:升级Xcode ......
$ sudo chown -R $(whoami):admin /usr/local
Run Code Online (Sandbox Code Playgroud)
这将修复/usr/local目录上的权限,这将有助于两者gem install和brew install|link|...命令正常工作.
确保您已修复/usr/local目录的权限(请参阅上面的#1)
首先尝试使用以下方法重新安装宝石:
sudo gem install <gemname>
Run Code Online (Sandbox Code Playgroud)
请注意,它将安装指定gem的最新版本.
如果您不想面对向后兼容性问题,我建议您首先确定要获取哪个gem的版本,然后使用-v version.请参阅下面的示例,以确保系统不会获得新版本的capistrano.
$ gem list | grep capistrano
capistrano (3.4.0, 3.2.1, 2.14.2)
$ sudo gem install capistrano -v 3.4.0
Run Code Online (Sandbox Code Playgroud)
更新brew并升级您的公式
$ brew update
$ brew upgrade
Run Code Online (Sandbox Code Playgroud)
您可能还需要手动重新链接其中一些
$ brew link <formula>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
105409 次 |
| 最近记录: |