【问题标题】:Upgraded to ruby on rails 3.2 and now getting uninitialized constant Rake::DSL error升级到 ruby​​ on rails 3.2,现在出现未初始化的常量 Rake::DSL 错误
【发布时间】:2012-01-24 20:56:33
【问题描述】:

升级前一切正常,但现在我无法运行 rake 任务。知道这是否与 rake 0.9.2.2 有关吗?

我不明白为什么有时会出现这个问题。

[gh (master)]$ bundle list | grep rake
  * rake (0.9.2.2)
[gh (master)]$ gem list | grep rake
rake (0.9.2.2, 0.8.7)

【问题讨论】:

    标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-3.1 rubygems


    【解决方案1】:

    我会做一个有根据的猜测,并说 rails 3.2 需要与 rails 3.1 不同的 rake 版本

    如果您运行bundle exec rake 而不是只运行 rake,那么它将使用您当前 Gemfile.lock 中指定的版本

    如果这不起作用,请发布以下内容:

    bundle list | grep rake
    

    还有

    gem list | grep rake
    

    【讨论】:

    • 在 rake 路由上对其进行了测试,现在它可以工作了,但单独的 rake 路由不能。我已经在上面发布了您的请求。
    【解决方案2】:

    两种方式.. 我更喜欢
    第一种方式:

    我是从终端的主目录中输入的:

    nano .bash_profile
    

    并将其粘贴到文件中:

       bundle_commands="rake spec rspec cucumber cap watchr rails rackup"
    
        function run_bundler_cmd () {
            if [ -r ./Gemfile ]; then
                bundle exec $@
            else
                $@
            fi
        }
    
        for cmd in $bundle_commands
        do
            alias $cmd="run_bundler_cmd $cmd"
        done
    

    然后输入:

    source ~/.bash_profile or restart terminal
    

    第二种方式。

    我是从终端的主目录中输入的:

    nano .bashrc <br />
    nano .bash_profile <br />
    

    复制并粘贴到文件中:

    # fix for ruby on rails rake issue
    alias bi="bundle install --binstubs=.bin"
    export PATH="./.bin:$PATH"
    

    然后关闭终端并重新打开以使一切正常。

    我还将 .bin 添加到我的 gitignore 文件中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-10
      • 2014-10-30
      • 1970-01-01
      相关资源
      最近更新 更多