2011-06-05 75 views
10

我有Rake版本0.9.1,但我需要爲項目使用0.8.7,並且我非常確定我已安裝兩個版本,但默認情況下它始終使用0.9.1。有沒有一種方法來指定要使用哪個版本的Rake?我試圖運行:rake db:drop db:create db:migrate db:seed 我得到這個錯誤: 你已經激活了rake 0.9.1,但是你的Gemfile需要rake 0.8.7 。考慮使用bundle exec。使用老版本的Rake

+1

那麼,答案是你的問題:**考慮使用捆綁EXEC **;) – Arsen7 2011-06-06 10:48:29

回答

15

您可以指定耙使用的版本,在您的Gemfile:

gem 'rake', '0.8.7' 

雖然「錯誤」消息,你得到了一切......你需要運行:

bundle exec rake ... 

...爲了使用正確的耙子來運行你的耙子任務。在bundle exec

更多信息:http://gembundler.com/man/bundle-exec.1.html

24

寶石搜索(或清單)耙,應該告訴你要安裝的版本。

您可以使用包含 下劃線的特定版本號來調用rake。

$rake _0.7.3_

這是創業板打包二進制文件的標準功能。

8

嘗試執行gem uninstall rake,然後選擇您想要卸載的版本。

3

這是因爲您正在使用系統中的rake。 (默認爲最新版本) 的解決方法是使用如下命令:

bundle exec rake db:migrate 

此外,您還可以創建別名。因爲這個命令太大,難以編寫。

echo "alias be='bundle exec'" >> ~/.bash_profile 
source ~/.bash_profile 

然後你可以使用遵循簡短的命令:

be rake db:migrate