Ruby on rails RubyonRails:运行rake资产:预编译,现在本地和heroku部署都是don';不包括引导
我在将项目部署到heroku服务器时遇到问题(预编译失败)。所以我找到了这个答案,并跟进了建议。我在application.rb文件中添加了一行: application.rbRuby on rails RubyonRails:运行rake资产:预编译,现在本地和heroku部署都是don';不包括引导,ruby-on-rails,heroku,asset-pipeline,precompiled,Ruby On Rails,Heroku,Asset Pipeline,Precompiled,我在将项目部署到heroku服务器时遇到问题(预编译失败)。所以我找到了这个答案,并跟进了建议。我在application.rb文件中添加了一行: application.rb module FirstEdc class Application < Rails::Application config.assets.initialize_on_precompile = false # I added this line ... end end 所以我添加了这个,重新编译和
module FirstEdc
class Application < Rails::Application
config.assets.initialize_on_precompile = false # I added this line
...
end
end
所以我添加了这个,重新编译和重新部署,但是没有用
最后,我运行了一个rakeassets:clean,试图至少让我的本地部署恢复正常,但它不起作用
如有任何建议,将不胜感激。我现在正在阅读更多关于资产管道的内容,但我觉得这可能是缓存问题或其他问题。我会在了解情况后更新
编辑。为了澄清,我尝试删除这两个添加项,运行rake-assets:clean和rake-assets:clean:all,但都没有修复我的本地部署。我在我的任何应用程序中都没有使用
config.assets.prefix
,它们与Heroku配合得很好,所以我不确定这是怎么回事
尝试删除该行,然后运行rake assets:clean
。现在,您的本地服务器应该在更改文件时使用这些文件。要推送时,请先运行rakeassets:precompile
,然后推送
如果您想在此之后在本地进行更改,请再次运行
rake assets:clean
以清除本地计算机上的预编译文件。如果Heroku检测到public/assets
中的任何文件,它将不会再次尝试预编译您的资产。这是故意的
因此,您需要做出决定,要么始终使用rake assets:precompile
预编译您的资产,要么在推到Heroku之前删除public/assets
中的任何文件
(推荐的方法是允许Heroku在推送过程中预编译它们)我删除了这两个添加项,并尝试了rake assets:clean,但我的引导仍然不起作用。我现在可以部署了,这是一个优点,但我不知道如何让我的引导功能再次发挥作用。我添加了gem'bootstrap\u helper',但也没有帮助。不要删除第一个添加项。保持
config.assets.initialize\u on\u precompile=false
好吧,保持config.assets.initialize\u on\u precompile=false允许我推送到heroku,这很好。但是,我的引导程序仍然无法在本地或生产环境中运行。您使用的是哪个版本的Railsinitialize\u on\u precompile
在Rails 4中没有效果。assets:clean
会清除预编译的资产,但链轮保留一个缓存,您也可以尝试清除它。使用rake tmp:cache:clear
:感谢您的回复。你能理解为什么我的引导停止工作吗?再次感谢。你能澄清一下“停止工作”是什么意思吗?它不是在收集引导资产吗?你有错误吗?
FirstEdc::Application.configure do
...
# Allows for local precompilling --added by Ian
config.assets.prefix = '/dev-assets'
end