对于i18n-js,Heroku资产预编译失败

时间:2013-09-27 04:06:52

标签: heroku ruby-on-rails-4 i18n-gem

在将Rails4代码推送到heroku时,我收到以下错误,这已经在过去2天内开始发生,否则会顺利进行

 Writing config/database.yml to read from DATABASE_URL
  -----> Preparing app for Rails asset pipeline
   Running: rake assets:precompile
   rake aborted!
   couldn't find file '/tmp/build_b6402ff8-bda2-4bc5-95dc-2efe7a9044bc/tmp/i18n-js.cache'
   (in /tmp/build_b6402ff8-bda2-4bc5-95dc-2efe7a9044bc/vendor/bundle/ruby/2.0.0/gems/i18n-js-2.1.2/vendor/assets/javascripts/i18n/translations.js.erb)
   /tmp/build_b6402ff8-bda2-4bc5-95dc-2efe7a9044bc/vendor/bundle/ruby/2.0.0/gems/sprockets-2.10.0/lib/sprockets/context.rb:87:in `resolve'

这是我的production.rb

的条目
config.assets.initialize_on_precompile = true

我可以运行RAILS_ENV =生产佣金资产:本地预编译。虽然我没有将预编译资产推送到服务器。

我通过我的gem文件安装了I18n-js 2.1.2版本,它的Rails4服务器为我运行。

急需帮助。

3 个答案:

答案 0 :(得分:6)

提高资产版本似乎有效。更改 application.rb 中的以下行:

config.assets.version = '1.0'

答案 1 :(得分:0)

尝试使用以下rake任务清除tmp文件夹:

rake tmp:clear

这将允许Heroku对您的所有资产进行全新的预编译。

答案 2 :(得分:0)

我摆脱了i18n-js rails gem,以解决问题。 我最低限度地使用它,所以用我的一些小代码替换它。

在Heroku上部署时,Gem和Rails 4存在问题。