使用旧版本的Rake

时间:2011-06-05 13:44:32

标签: ruby-on-rails ruby rake version switch-statement

我有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。

4 个答案:

答案 0 :(得分:25)

gem search(或list)rake,应该告诉你安装了哪些版本。

您可以使用括号中的特定版本号调用rake 下划线。

$rake _0.7.3_

这是gem打包二进制文件的标准功能。

答案 1 :(得分:18)

您可以在Gemfile中指定要使用的Rake版本:

gem 'rake', '0.8.7'

虽然您收到的“错误”消息说明了所有内容......但您需要运行:

bundle exec rake ...

...为了使用正确的佣金来运行佣金任务。

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

答案 2 :(得分:8)

尝试执行gem uninstall rake,然后选择要卸载的版本。

答案 3 :(得分:3)

这是因为您正在使用系统中的 rake 。 (默认为最新版本) 解决方案是使用以下命令:

bundle exec rake db:migrate

此外,您还可以创建别名。因为这个命令太大而且难以编写。

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

然后你可以使用follow short命令:

be rake db:migrate