我正在开发对CocoaPods的贡献,作为其中的一部分,我已将我的开发目录bin
添加到我的$PATH
。我通过修改.zshrc
文件来完成此操作:
export PATH=/Users/ash/Desktop/Rainforest/CocoaPods/bin:$PATH
我希望一切都会奏效。但是当我尝试调用pod
命令时,我得到一个错误,似乎表明它正试图从其他地方加载gem。
pod
/Users/ash/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/rubygems/dependency.rb:298:in `to_specs': Could not find 'cocoapods' (>= 0) among 120 total gem(s) (Gem::LoadError)
from /Users/ash/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/rubygems/dependency.rb:309:in `to_spec'
from /Users/ash/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_gem.rb:53:in `gem'
from /Users/ash/.rvm/gems/ruby-2.1.2/bin/pod:22:in `<main>'
from /Users/ash/.rvm/gems/ruby-2.1.2/bin/ruby_executable_hooks:15:in `eval'
from /Users/ash/.rvm/gems/ruby-2.1.2/bin/ruby_executable_hooks:15:in `<main>'
槽糕。所以我echo $PATH
看看情况如何:
echo $PATH
/Users/ash/.rvm/gems/ruby-2.1.2/bin:/Users/ash/.rvm/gems/ruby-2.1.2@global/bin:/Users/ash/.rvm/rubies/ruby-2.1.2/bin:/usr/local/heroku/bin:/Users/ash/Desktop/Rainforest/CocoaPods/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/MacGPG2/bin:/usr/texbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/Users/ash/.rvm/bin
在我添加的目录之前有一堆RVM内容,即使.zshrc
,.profile
中没有任何内容,甚至.bashrc
之类的内容都没有,以表明发生了什么上。
我已经尝试查看可能修改$PATH
变量的所有不同文件,但没有运气。似乎someone else有这个问题,但它与git pre-commit hooks有关,我没有。有什么想法吗?
答案 0 :(得分:3)
在RVM添加自己的路径之前,您预先等待$PATH
的额外路径。在ZSH配置中完成任何rvm设置后,您应该移动路径。您可以在某处找到类似以下内容的内容:
source "$HOME/.rvm/scripts/rvm"
您应该在此之后而不是之前执行您的操作。
source "$HOME/.rvm/scripts/rvm"
export PATH=/Users/ash/Desktop/Rainforest/CocoaPods/bin:$PATH
答案 1 :(得分:2)
如果您使用的是OS X(可能还有Linux),则可以修改/etc/paths
文件以明确设置$PATH
中的内容。
~$ cat /etc/paths
/usr/local/bin
/usr/local/sbin
/usr/bin
/bin
/usr/sbin
/sbin
~$
看起来这应该适用于zsh。 https://github.com/Homebrew/homebrew/issues/25407
答案 2 :(得分:1)
一个简单的解决方法 - 不是因为我不使用RVM而无法帮助您的真正问题的解决方案 - 将从您的RVM安装中卸载gem,这样您的shell将无法再找到在任何这些RVM位置中的bin。
答案 3 :(得分:0)
您可以使用CocoaPods禁用RVM ruby:
rvm use system
回到rvm控制的红宝石:
rvm use ruby