已升级到rails 3.2上的ruby,现在出现未初始化的常量Rake::DSL错误



升级前一切正常,但现在我无法运行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)

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

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

如果这不起作用,请张贴以下内容:

bundle list | grep rake

gem list | grep rake

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

我在终端的主目录中键入了这个:

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"

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

我还在gitignore文件中添加了.bin。

最新更新