Обновлен до ruby ​​на rails 3.2 и теперь получает неинициализированную константу Rake :: DSL error - PullRequest
0 голосов
/ 25 января 2012

До обновления все работало нормально, но теперь я не могу запускать задачи 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 ]

1 голос
/ 25 января 2012

Я сделаю обоснованное предположение и скажу, что для rails 3.2 требуется отличная версия рейка от rails 3.1

Если вы запустите bundle exec rake вместо рейка, он будет использовать версию, указанную в вашем текущем Gemfile.lock

Если это не сработает, пожалуйста, опубликуйте содержимое:

bundle list | grep rake

А

gem list | grep rake
0 голосов
/ 26 января 2012

Два пути .. Я предпочел 1-й способ:

Я набрал это из домашнего каталога в терминале:

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

2-й способ.

Я набрал это из домашнего каталога в терминале:

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.

...