2013-09-27 90 views
5

在推动Rails4代码的Heroku我碰到下面的错误,这已经开始在最近2天,否则一个平稳的过程Heroku的资产预编译失败的国际化-JS

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服务器为我运行。

需要紧急帮助。

回答

0

我摆脱了i18n-js rails宝石,以解决问题。 我以最小的方式使用它,所以用我的一些小代码替换它。

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

0

尝试使用下面的rake任务清除TMP文件夹:

rake tmp:clear 

这将允许的Heroku做您的所有资产的新鲜预编译。

+0

不只是推前当地,作为当地一个没有帮助:更改以下行application.rb中? – sudhanshu

+0

rake tmp:在push之前在本地清除,didoku run run rake tmp:clear --app XXXXXXXX错误保持不变。 – sudhanshu

+0

您可能还需要清除当地的tmp,因为这些文件会在推送应用时推送到heroku。 –

6

颠覆资产版本似乎工作。 Heroku的控制台上

config.assets.version = '1.0' 
+0

这对我有用!没有其他解决方案工作)。我有git://github.com/torandi/i18n-js.git(在rails4)作为依赖关系 – Adrien

+0

也为我工作,谢谢。在Github上报告:https://github.com/fnando/i18n-js/issues/189 – wspruijt