Heroku run rake> no such file to download - faker

When running 'heroku run rake', I get this error:

  no such file to load -- faker
/app/lib/tasks/sample_data.rake:1:in `require'
/app/lib/tasks/sample_data.rake:1:in `<top (required)>'

I have a gem 'faker', '0.3.1' in the group: development ,: test do in the Gemfile.

I need a "faker" in sample_data.rake

source 'https://rubygems.org'

gem 'rails', '3.2.11'
gem 'gravatar_image_tag', '0.1.0'

group :development, :test do
  gem 'sqlite3', '1.3.5'
  gem 'rspec-rails', '2.8'
 gem 'guard-spork', '1.2.0'
 gem 'faker', '0.3.1'
  gem 'spork', '0.8.4'
  gem 'will_paginate', '3.0'
gem 'webrat', '0.7.1'
 gem 'capybara', '1.1.2'
gem 'annotate', '2.5.0'
gem 'factory_girl_rails', '1.0'
end

# Gems used only for assets and not required
# in production environments by default.
group :assets do
  gem 'sass-rails',   '3.2.5'
  gem 'coffee-rails', '3.2.2'
  gem 'uglifier', '1.2.3'
end

gem 'jquery-rails', '2.0.2'

group :production do
  gem 'pg', '0.12.2'
end
+5
source share
2 answers

Heroku does not set defaults testor developmentstones.

If you want to upload faketo your products, you must remove gem 'faker', '0.3.1'from group :development, :test doand place it outside any group:

  source 'https://rubygems.org'
  gem 'rails', '3.2.11'
  gem 'gravatar_image_tag', '0.1.0'
  gem 'faker', '0.3.1'

  group :development, :test do
  gem 'sqlite3', '1.3.5'
  ...

However, if you do not want to download fake, you must make sure that yours is require fakeonly needed when invoking a task:

task :sample_data => :environment do
  require 'faker'  #must be inside the task.
  ...
end

Hope this helps.

EDIT

You can tell the bundler not to load the gem:

 gem 'faker', '0.3.1', :require => false
+9

" Rub Rails 3". gabrielhilals, , "faker"

:

require 'faker'
namespace :db do
  desc "Fill database with sample data"
  task :populate => :environment do
    ...
    ...
  end
end

:

namespace :db do
  require 'faker'
  desc "Fill database with sample data"
  task :populate => :environment do
    ...
    ...
  end
end
+1

All Articles