Pow говорит: Bundler:: GemNotFound: Не удалось найти rake-0.9.2.2 в любом из источников
У меня есть приложение rails, которое отлично работает с rails s
, но когда я пытаюсь загрузить его с помощью pow, я получаю эту ошибку:
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'
....
Странно, что файл .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.
Спасибо!
Ответы
Ответ 1
Я думаю, вы обновили RVM и столкнулись с этой известной проблемой: https://github.com/37signals/pow/issues/271
Самое простое решение - запустить его в проекте dir:
rvm env . > .powenv
ИЛИ
cd /project/path # with .rvmrc
rvm env > .powenv
Ответ 2
Я столкнулся с этой проблемой, когда я изменил с .rvmrc на файлы .ruby-version и .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
Если вы используете RVM, вы должны добавить файл с именем ".powenv" в корень вашего проекта, как описано здесь:
http://rvm.io/integration/pow
Ответ 4
Я использую этот .powrc, который прекрасно охватывает все базы:
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 (спасибо nbibler!)