2013-02-04 12 views
5

Beim Laufen 'Heroku laufen Rake' ich diesen Fehler:Heroku Lauf Rake> keine solche Datei zu laden - faker

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)>' 

Ich habe Juwel 'Fälscher', '0.3.1' unter Gruppe: Entwicklung ,: test in Gemfile.

Ich habe require 'Fälscher' 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 
+1

können Sie bitte Ihre gemfile – gabrielhilal

+1

I sind nur gemfile zum ursprünglichen Beitrag hinzugefügt –

Antwort

8

Heroku nicht test oder development gems standardmäßig nicht installiert werden.

Wenn Sie fake in Ihrer Produktion laden möchten, sollten Sie gem 'faker', '0.3.1' vom group :development, :test do entfernen und sie außerhalb jeder Gruppe:

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' 
    ... 

Wenn Sie jedoch nicht fake laden möchten, müssen Sie sicherstellen, dass Ihr require fake ist nur erforderlich, wenn die Aufgabe aufgerufen wird:

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

Hoffe, es hilft.

EDIT

Sie können Bündler sagen Sie nicht, das Gem laden von:

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

Ich habe den Raker außerhalb der Gruppe platziert, wie Sie gesagt haben, bevor ich den ursprünglichen Beitrag gemacht habe. Ich habe immer noch den gleichen Fehler erhalten. Habe es nochmal eben nochmal überprüft. –

+0

willst du den 'faker' in deiner Produktion laden? – gabrielhilal

+0

Nein, nicht in Produktion, nur Entwicklung. –

1

habe ich dieses Problem mit der "Rub on Rails 3 Tutorial". Per gabrielhilals Antwort, war das Update erforderlich ist 'Fälscher' zu bewegen, um innerhalb der Aufgabe

vor fix:

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

nach fix:

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