2013-09-27 89 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