我正在尝试在服务器上安装RedMine。
在这里解释的过程中,我应该运行
rake generate_secret_token
但是,我收到此错误:
(in /home/var/redmine)
rake aborted!
uninitialized constant Rake::DSL
/home/var/redmine/Rakefile:7
(See full trace by running task with --trace)
经过一些研究,我发现 rake 0.8.7 应该有问题(至少我是这样理解的),我应该使用 rake 0.9.2.2
我尝试添加
gem 'rake', '0.9.2.2'
到我的宝石文件。
我检查了
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'
到我的宝石文件为红矿。但是,我在运行 rake 时得到此响应
You have requested:
rake = 0.8.7
The bundle currently has rake locked at 0.9.2.2.
Try running `bundle update rake`
我在这里做错了什么?
我能够按照以下步骤解决这个奇怪的问题:
gem uninstall rake
然后
bundle update rake
这给了我一个回应,即 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
成功。
当使用同一 gem 的多个版本时,您可以使用_version_
参数指定要使用的版本,例如。 rake _0.9.2.2_ --version
(见gem help install
)
要使用 Gemfile 的版本,您可以在命令前面加上 bundle exec
,例如。 bundle exec rake --version
(阅读 http://gembundler.com/中的"入门")
基本上,不同不兼容版本的 rake 正在产生问题。这为我解决了它:
/var/lib/gems/1.8/bin/rake generate_secret_token