1. ホーム
  2. ruby-on-rails

[解決済み] HerokuでRake::DSLが初期化されない問題を解決するには?

2022-12-28 05:03:21

質問

以下のようなエラーが発生します。 これらの 質問 に発生することを除いて、私のは Heroku :

2011-05-30T09:03:29+00:00 heroku[worker.1]: Starting process with command: `rake jobs:work`
2011-05-30T09:03:30+00:00 app[worker.1]: (in /app)
2011-05-30T09:03:30+00:00 heroku[worker.1]: State changed from starting to up
2011-05-30T09:03:33+00:00 app[worker.1]: rake aborted!
2011-05-30T09:03:33+00:00 app[worker.1]: uninitialized constant Rake::DSL
2011-05-30T09:03:33+00:00 app[worker.1]: /app/.bundle/gems/ruby/1.9.1/gems/rake-0.9.0/lib/rake/tasklib.rb:8:in `<class:TaskLib>'

これらの質問に対する答えは、どうやら gem 'rake', '0.8.7' を指定することで、0.9バージョンでは問題が発生するからです。

を追加しようとすると gem 'rake', '0.8.7' をgemfileに追加してHerokuにプッシュしようとすると、このエラーが表示されます。

Unresolved dependencies detected; Installing...
You have modified your Gemfile in development but did not check
the resulting snapshot (Gemfile.lock) into version control

You have added to the Gemfile:
* rake (= 0.8.7)
FAILED: http://devcenter.heroku.com/articles/bundler
! Heroku push rejected, failed to install gems via Bundler
error: hooks/pre-receive exited with error code 1
To [email protected]:my_app.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to '[email protected]:my_app.git'

私のgemfileはHerokuでは普通に動きます。どうしたらいいでしょうか?

どのように解決するのですか?

Rakefileに以下を記述してください。 上記 require 'rake':

require 'rake/dsl_definition'