2012-04-24 96 views
32

我有一個rails應用,運行良好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' 
.... 

奇怪的是,在此應用程序的.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的非rails項目中工作得很好。

謝謝!

回答

79

我猜你更新RVM碰上這個已知問題:https://github.com/37signals/pow/issues/271

最簡單的解決辦法是在項目目錄中運行它:

rvm env . > .powenv 

OR:

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

我得到了「無法識別的命令行參數:'。 '(參見:'rvm usage')「 – Zeiga 2012-07-13 02:02:25

+0

你使用的是什麼版本的RVM?更新它,它應該可以正常工作。 – mpapis 2012-07-13 15:49:00

+0

rvm 1.9.2,」你已經擁有最新版本!「我做了「rvm get latest」,謝謝。 – Zeiga 2012-07-16 16:26:58

6

我跑在從.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

我一直在使用這種.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採取

相關問題