1

我正在努力为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变量的不同文件,但没有成功。似乎其他人遇到了这个问题,但它与我没有的 git pre-commit 挂钩有关。有任何想法吗?

4

4 回答 4

3

$PATH在 RVM 添加它自己的路径之前,您要预先设置额外的路径。在 ZSH 配置中完成任何 rvm 设置后,您应该移动路径。在某个地方,您会发现类似以下内容:

source "$HOME/.rvm/scripts/rvm"

您应该在此之后而不是之前执行您的操作。

source "$HOME/.rvm/scripts/rvm"
export PATH=/Users/ash/Desktop/Rainforest/CocoaPods/bin:$PATH
于 2014-09-10T10:47:00.023 回答
2

If you're on OS X (and possibly Linux), you can modify your /etc/paths file to explicitly set what's in $PATH.

~$ cat /etc/paths
/usr/local/bin
/usr/local/sbin
/usr/bin
/bin
/usr/sbin
/sbin
~$

Looks like this should work for zsh. https://github.com/Homebrew/homebrew/issues/25407

于 2014-09-10T12:00:14.920 回答
1

一个简单的解决方法——不是解决你真正问题的解决方案,因为我不使用 RVM,所以我无法帮助你——从你的 RVM 安装中卸载 gems,这样你的 shell 将不再在任何地方找到 bin这些 RVM 位置。

于 2014-09-10T10:40:06.163 回答
0

您可以为使用 CocoaPods 的工作禁用 RVM ruby​​:

rvm use system

回到 rvm 控制的红宝石:

rvm use ruby
于 2014-09-10T11:03:41.450 回答