我有很多次报告的类似问题,例如在这里:rake assets:precompile RAILS_ENV=production not working as required
我的设置如下:
-- rails 5.1
-- any application (e.g. an empty one, just generated the app, bundle, rake assets:precompile)
-- error:
c:\ RailsApps \ asset_pipeline_test>捆绑exec rake资产:预编译 I,[2018-05-08T01:26:06.195454#7876]信息 - :写作c:/RailsApps/asset_pipeline_test/public/assets/application-a51a53658dfaa975cb4363f51d14bccf24d66c3d90c2186bf834c157151c4bd1.js 耙子流产了! NoMethodError:未定义的方法`post'为零:NilClass 任务:TOP =>资产:预编译
不同的应用程序会出现同样的错误。
与其他报告问题的区别:
-- I am using two similar w7pro machines
-- on one machine rake assets:precompile is working
-- on the other machine it's failing
我将应用程序的1:1副本和Ruby / Rails安装文件夹从工作机器放到失败的那个。
我检查了任何环境变量,发现没有区别。
我猜应用程序外部的机器与Ruby设置之间存在差异。
问题:那有什么区别?这两台机器最初都是由相同的操作系统映像(由我公司的IT部门)设置的,但它们当然不是新鲜的
乌利
答案 0 :(得分:0)
检查系统当前用户的 ruby版本
rvm list
确保在捆绑期间采取相同的措施。如果需要另外一些版本,请为用户正确安装ruby。
以更好的方式捆绑
bundle exec rake assets:precompile RAILS_ENV=production
bundle的ruby版应该与当前系统用户的ruby版本匹配。 bundle 可以在
找到/usr/bin/
或
/usr/local/