3

背景:

  • 每当我在旧项目中运行 rake 时,我都会遇到错误。(未初始化的常量 Rake::DSL)。
  • 有问题的 rails 项目是一个从 Rails 2.1 开始的旧项目(我认为),从那时起,我已经更新了笔记本电脑上的操作系统几次,并在此过程中进行了更新以使其运行。
  • 现在,只要我将 RAILS_GEM_VERSION 设置为 2.3.5,rails 应用程序就可以正常工作。我不确定该应用程序是否已完全更新到 Rails 2.3.5。
  • 我的旧项目中没有 Gemfile。
  • 如果我创建一个全新的 rails 项目(并取消设置 RAILS_GEM_VERSION),rake 运行良好。

我的问题:为了排除故障,我想尝试更新版本的 rake。我想知道如何强制使用一个特定版本,因为我似乎安装了多个版本。

关于我的环境的信息:

$ gem list rake

*** LOCAL GEMS ***

rake (0.9.2.2, 0.9.2, 0.8.7, 0.8.3)


$ rake --version
rake, version 0.8.7

所以看起来它正在接受 0.8.7 版本。

网上的所有帮助文件似乎都告诉我在 Gemfile 中指定 rake 版本,但这个项目中没有。(也许它早于 gemfiles?)

如果我完全取消设置 RAILS_GEM_ENVIRONMENT 变量,并尝试运行 rake,我会得到:

rake aborted!
can't activate rails (= 2.3.5, runtime) for [], already activated rails-3.2.8 for []

我的旧项目中的任何环境配置文件都没有设置该变量。

4

3 回答 3

9

这可能会有所帮助。您是否尝试过下划线解决方案?

例子:

rake _0.9.2_
于 2012-09-28T01:27:27.640 回答
2

您可以使用此运行 rake 特定版本

捆绑执行耙...

更多详细信息请参见 - bundle exec , rake

于 2012-09-26T09:24:39.143 回答
0

您可以使用类似于以下的命令卸载当前版本的rake并安装另一个所需版本:

gem uninstall rake 12.3.1
gem install rake 10.5.0

(注意:您可能需要以 sudo 身份运行以获得权限)

我在尝试安装 rake 10.5.0 时收到以下错误时遇到问题:

Could not find a valid gem '0.8.7' (>= 0) in any repository

我通过将以下行添加到我的Gemfile解决了这个问题:

gem 'rake', ' <11.0'

编辑Gemfile后,我可以通过更新我的 gem来成功降级rake :

bundle update
于 2018-03-27T21:11:29.237 回答