I have rake 0.9.2 on my local machine. When i type rake --version, I
get:
rake, version 0.9.2

and my rails 3.0.9 app does not specify a version of rake in the
Gemfile. When I do bundle list |grep rake
I see:
 * rake (0.9.2)

Anyway, rake seems to work just fine on my local machine with a rails
3.0.9 app. However, when I push that app to heroku I run into the
following error whenever I try to do heroku rake
rake aborted!
uninitialized constant Rake::DSL
/app/.bundle/gems/ruby/1.9.1/gems/rake-0.9.2/lib/rake/tasklib.rb:8:in
`<class:TaskLib>'

Anyone know why rake 0.9.2 fails on heroku but works just fine on my
local machine?

- Thanks
Francois




On Jun 21, 10:21 am, Alex Chaffee <ale...@gmail.com> wrote:
> YMMV, but I'm pretty sure Rake 0.9.2 fixes this.
>
> Another solution is to add the following to your Rakefile, right after
> "require 'rake'"
>
> class Rails::Application
>   includeRake::DSL
> end
>
> (from memory; please let me know if it doesn't work and I'll look it
> up for you)
>
> On Jun 17, 7:01 pm, Daniel Myasnikov <myasnikovdan...@gmail.com>
> wrote:
>
>
>
> > Hey
>
> > I had the same issue, and the whole yesterday to solve it.
>
> > First of all, if you are using Rake 0.8.7 and put "require 'rake/
> > dsl_definition'" it won't work for you. This feature was introduced
> > for Rake 0.9.x.
>
> > I strongly recommend to use Rake 0.8.7
>
> > and get rid out of everything that you put for rake 0.9.x, such as
> > 'includeRake:dsl' and extend Rake::FileUtilsExt
>
> > So your RakeFile file should look like:
>
> > require File.expand_path('../config/application', __FILE__)
>
> > require 'rake'
>
> > MyApplicationName::Application.load_tasks
>
> > 2. Secondly check if you have installed Rake 0.9.x and remove it from
> > your computer and use Rake 0.8.7, which you have to install before
> > using
>
> > 3. Use gem "rake", "0.8.7" in your GemFile just after source 'http://
> > rubygems.org'
>
> > 4. Make sure your gem for rails is '3.0.9'
>
> > 5. Some said that this gem also helped them gem 'sqlite3',
> > '1.3.3', :group => :development
>
> > Also don't forget about debugging your Heroku application using
> > 'heroku logs'
>
> > Daniel Myasnikov
>
> > On Jun 18, 11:43 am, Karl <threadh...@gmail.com> wrote:
>
> > > Using Rails 3.0.9 (3.0.7 too), which load rake 0.9.2 with bamboo-
> > > mri-1.9.2, causes:
>
> > > $ heroku rake db:migrate
> > > rake aborted!
> > >uninitializedconstantRake::DSL
> > > /app/.bundle/gems/ruby/1.9.1/gems/rake-0.9.2/lib/rake/tasklib.rb:8:in
> > > `<class:TaskLib>'
> > > /app/.bundle/gems/ruby/1.9.1/gems/rake-0.9.2/lib/rake/tasklib.rb:6:in
> > > `<module:Rake>'
> > > /app/.bundle/gems/ruby/1.9.1/gems/rake-0.9.2/lib/rake/tasklib.rb:3:in
> > > `<top (required)>'
> > > /app/.bundle/gems/ruby/1.9.1/gems/rdoc-3.6.1/lib/rdoc/task.rb:37:in
> > > `<top (required)>'
> > > /app/.bundle/gems/ruby/1.9.1/gems/railties-3.0.9/lib/rails/tasks/
> > > documentation.rake:2:in `<top (required)>'
> > > /app/.bundle/gems/ruby/1.9.1/gems/railties-3.0.9/lib/rails/tasks.rb:
> > > 15:in `block in <top (required)>'
> > > /app/.bundle/gems/ruby/1.9.1/gems/railties-3.0.9/lib/rails/tasks.rb:
> > > 6:in `each'
> > > /app/.bundle/gems/ruby/1.9.1/gems/railties-3.0.9/lib/rails/tasks.rb:
> > > 6:in `<top (required)>'
> > > /app/.bundle/gems/ruby/1.9.1/gems/railties-3.0.9/lib/rails/
> > > application.rb:215:in `initialize_tasks'
> > > /app/.bundle/gems/ruby/1.9.1/gems/railties-3.0.9/lib/rails/
> > > application.rb:139:in `load_tasks'
> > > /app/.bundle/gems/ruby/1.9.1/gems/railties-3.0.9/lib/rails/
> > > application.rb:77:in `method_missing'
> > > /app/Rakefile:7:in `<top (required)>'
> > > /usr/ruby1.9.2/lib/ruby/1.9.1/rake.rb:2373:in `load'
> > > /usr/ruby1.9.2/lib/ruby/1.9.1/rake.rb:2373:in `raw_load_rakefile'
> > > /usr/ruby1.9.2/lib/ruby/1.9.1/rake.rb:2007:in `block in load_rakefile'
> > > /usr/ruby1.9.2/lib/ruby/1.9.1/rake.rb:2058:in
> > > `standard_exception_handling'
> > > /usr/ruby1.9.2/lib/ruby/1.9.1/rake.rb:2006:in `load_rakefile'
> > > /usr/ruby1.9.2/lib/ruby/1.9.1/rake.rb:1991:in `run'
> > > /usr/ruby1.9.2/bin/rake:31:in `<main>'
> > > (in /app)
>
> > > I had to add, before require 'rake':
>
> > > # Rakefile
> > > require 'rake/dsl_definition'
>
> > > But I don't get this on my development machine. Why?

-- 
You received this message because you are subscribed to the Google Groups 
"Heroku" group.
To post to this group, send email to heroku@googlegroups.com.
To unsubscribe from this group, send email to 
heroku+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/heroku?hl=en.

Reply via email to