2012-06-21 59 views
3

我想在服务器上安装RedMine。尽管新鲜的卸载/安装程序耙在错误的版本

在我应该跑

rake generate_secret_token 

但是程序as explained here,我收到此错误:

(in /home/var/redmine) 
rake aborted! 
uninitialized constant Rake::DSL 
/home/var/redmine/Rakefile:7 
(See full trace by running task with --trace) 

经过一番研究,我发现,耙0.8.7据推测有问题这(至少,这是我的理解),我应该使用耙0.9.2.2

我试着加入

gem 'rake', '0.9.2.2' 

我的Gemfile。

我检查

rake --version 

并获得

rake, version 0.8.7 

我跑

gem uninstall rake 

从而成功,根据输出。

然后我跑

gem install rake -v=0.9.2.2 

输出功率为

Successfully installed rake-0.9.2.2 
1 gem installed 
Installing ri documentation for rake-0.9.2.2... 
Installing RDoc documentation for rake-0.9.2.2... 

然而,当然后调用

rake --version 

我仍然得到

rake, version 0.8.7 

我也尝试添加

gem 'rake', '0.8.7' 

我的Gemfile for redmine。然而,当我运行耙子时,我得到这个响应

You have requested: 
rake = 0.8.7 

The bundle currently has rake locked at 0.9.2.2. 
Try running `bundle update rake` 

我在做什么错在这里?

+0

供参考:当你运行'捆绑安装'它创建一个Gemfile.lock,所以你不会意外地更改版本号。如果您在Gemfile中更改版本号,则必须运行'bundle update'以便使用新版本号更新您的锁文件。如果您具体说明要更新哪些宝石,也是最好的:'bundle update rake' – Andrew

回答

2

我能解决这个奇怪的问题通过以下步骤:

gem uninstall rake 

然后

bundle update rake 

这使我的佣金已经高达最新的,但仍然响应,我在这里列出 - 以防万一。

然后

gem install rake -v=0.8.7 

此外,在我的Gemfile我有这个配置

source 'http://rubygems.org' 
gem 'rails', '3.2.6' 
gem 'rake', '0.8.7' 

(按顺序)

做的这一切,我是能够运行后

rake generate_secret_token 

s uccessfully。

1

使用同一个gem的多个版本时,可以使用_version_参数指定使用哪个版本,例如。 rake _0.9.2.2_ --version (请参阅gem help install

要使用Gemfile的版本,您可以在命令前加上bundle exec,例如。 bundle exec rake --version(从http://gembundler.com/开始阅读“开始”)

1

基本上不同的不兼容版本的rake正在产生问题。这为我解决了它:

/var/lib/gems/1.8/bin/rake generate_secret_token 
相关问题