2012-04-24 3 views
32

У меня есть приложение для рельсов, которое отлично работает с rails s, но когда я пытаюсь загрузить его с помощью pow, я получаю эту ошибку :pow говорит: Bundler :: GemNotFound: Не удалось найти rake-0.9.2.2 в любом из источников

Bundler::GemNotFound: Could not find rake-0.9.2.2 in any of the sources 
~/.rvm/gems/ruby-1.9.2-p290/gems/bundler-1.0.22/lib/bundler/spec_set.rb:88:in `block in materialize' 
~/.rvm/gems/ruby-1.9.2-p290/gems/bundler-1.0.22/lib/bundler/spec_set.rb:82:in `map!' 
~/.rvm/gems/ruby-1.9.2-p290/gems/bundler-1.0.22/lib/bundler/spec_set.rb:82:in `materialize' 
.... 

Weird вещь, файл .rvmrc в этом приложении указывает 1.9.3-p125:

which rake 
.../.rvm/gems/ruby-1.9.3-p125/bin/rake 

и вот что я вижу, когда я бегу bundle install:

Using rake (0.9.2.2) 

FWIW, pow работает отлично с другим проектом без рельсов, используя 1.9.2 и другой gemset.

Спасибо!

ответ

79

Я думаю, вы обновили RVM и запустить в этом известном вопросе: https://github.com/37signals/pow/issues/271

самым простым решением является, чтобы запустить его в папку проекта:

rvm env . > .powenv 

ИЛИ:

cd /project/path # with .rvmrc 
rvm env > .powenv 
+0

У меня есть аргумент (ы) непризнанной командной строки: '. '(см. «rvm usage») «когда я запустил эту команду. – Zeiga

+0

какая версия RVM вы используете? Обновите ее, и она должна работать нормально. – mpapis

+0

rvm 1.9.2,« У вас уже есть последняя версия! », когда Я сделал «rvm get latest», спасибо. – Zeiga

6

Я выбежала в эту проблему, когда я изменил с .rvmrc на .ruby-версию и файлы .ruby-gemset.

Измените файл .powrc быть:

 
if [ -f "$rvm_path/scripts/rvm" ] && [ -f ".ruby-version" ] && [ -f ".ruby-gemset" ]; then 
    source "$rvm_path/scripts/rvm" 
    rvm use `cat .ruby-version`@`cat .ruby-gemset` 
fi 
3

Я использую этот .powrc который хорошо охватывает все основания: (! Спасибо nbibler)

if [ -f "$rvm_path/scripts/rvm" ]; then 
    source "$rvm_path/scripts/rvm" 

    if [ -f ".rvmrc" ]; then 
    source ".rvmrc" 
    fi 

    if [ -f ".ruby-version" ]; then 
    rvm use `cat .ruby-version` 
    fi 

    if [ -f ".ruby-gemset" ]; then 
    rvm gemset use --create `cat .ruby-gemset` 
    fi 
fi 

Взято отсюда https://gist.github.com/nbibler/5307941

6

Если вы используете RVM, вы должны добавить файл с именем «.powenv» в корень вашего проекта, как описано здесь:

http://rvm.io/integration/pow

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