2014-09-10 4 views
1

Я работаю над разработкой, внося свой вклад в CocoaPods, и как часть этого, я добавил свой каталог разработки bin в мой $PATH. Я сделал это, изменив мой .zshrc файл:

export PATH=/Users/ash/Desktop/Rainforest/CocoaPods/bin:$PATH 

И я ожидал, все будет работать. Но когда я пытаюсь вызвать команду pod, у меня появляется ошибка, которая, похоже, указывает на то, что она пытается загрузить драгоценный камень из другого места.

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>' 

Hrm. Так что я echo $PATH, чтобы посмотреть, что случилось:

echo $PATH 
/Users/ash/.rvm/gems/ruby-2.1.2/bin:/Users/ash/.rvm/gems/[email protected]/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 

И есть куча РВМ вещи впереди каталог, который я добавил, несмотря на то, что нет ничего в .zshrc, .profile, или даже такие вещи, как .bashrc, чтобы указать, что происходит на.

Я пробовал просматривать все разные файлы, которые могут изменять переменную $PATH, без везения. Кажется, someone else имеет эту проблему, но это связано с git pre-commit hooks, чего у меня нет. Есть идеи?

ответ

3

Перед отправкой дополнительного пути до $PATH перед тем, как RVM добавит свои собственные пути. Вы должны перемещать свой путь после того, как любая настройка rvm будет выполнена в ваших конфигурациях ZSH. Где-то вы найдете следующее:

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

Вы должны выполнить свои действия после этого, а не раньше.

source "$HOME/.rvm/scripts/rvm" 
export PATH=/Users/ash/Desktop/Rainforest/CocoaPods/bin:$PATH 
+0

Да, я нашел его как в .zlogin', так и '.bash_profile'. Я обновлю их и посмотрю, как это происходит. –

+0

Да, это решило это для меня. Похоже, что '.zprofile' загружался * после *' .zshrc'. Спасибо, Кайл! –

1

Простой обходной путь - не решение вашей реальной проблемы, которое я не могу вам помочь, поскольку я не использую RVM, - это удалить драгоценные камни из вашей установки RVM, таким образом ваша оболочка больше не найдет bin в любом из этих мест RVM.

0

вы можете отключить RVM рубин для работы с CocoaPods:

rvm use system 

, чтобы вернуться к РВМ контролируемым рубина:

rvm use ruby 
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

Смежные вопросы