heroku rake db:migrate
之后我收到以下错误:
rake aborted!
no such file to load -- faker
/app/Rakefile:7
(See full trace by running task with --trace)
(in /app)*
我看到了之前的答案,我尝试将require 'faker'
从第一行转移到task :populate => :environment do
文件中sample_data.rake
下面的行。它不起作用。
我在gemfile中评论了faker
(它只出现在开发环境中),我执行了bundle install
。它不起作用。
我真的很害怕我不能和foku一起使用faker。你能帮我吗?
答案 0 :(得分:11)
Gemfile中的faker
部分生产宝石(在任何群组之外)?
默认情况下,Heroku不会安装test
或development
个宝石。
所以,你可以,例如,只需改变
source 'http://rubygems.org'
gem 'rails', '3.0.7'
gem 'sqlite3-ruby', :require => 'sqlite3'
gem 'mysql'
group :development do
gem 'faker'
end
到
source 'http://rubygems.org'
gem 'rails', '3.0.7'
gem 'sqlite3-ruby', :require => 'sqlite3'
gem 'mysql'
gem 'faker'
您可以指示Heroku通过更改Heroku环境变量来安装开发宝石 BUNDLE_WITHOUT
,其中列出排除组。
默认为:
heroku config:set BUNDLE_WITHOUT="development:test"
所以你可以使用类似的东西:
heroku config:set BUNDLE_WITHOUT="test"
但是,如果您的应用程序需要在其生产环境中使用faker
,您可能只需将gem包含在默认的Gemfile组中。
答案 1 :(得分:0)
(或)
将rake文件的require'faker'行放在任务
中