5

在将 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=production rake assets:precompile本地运行。虽然我没有将预编译的资产推送到服务器。

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

4

3 回答 3

6

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

config.assets.version = '1.0'
于 2013-10-09T10:56:34.103 回答
0

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

rake tmp:clear

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

于 2013-09-27T04:14:50.560 回答
0

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

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

于 2013-09-28T01:18:19.567 回答