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

时间:2012-01-24 20:56:34

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

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

2 个答案:

答案 0 :(得分:1)

我会采取有根据的猜测,并说rails 3.2需要不同版本的rake来自rails 3.1

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

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

bundle list | grep rake

并且

gem list | grep rake

答案 1 :(得分:0)

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

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

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文件中。

相关问题