0

我有很多次报告的类似问题,例如这里: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>bundle exec rake assets:precompile I, [2018-05-08T01:26:06.195454 #7876] INFO -- : Writing c:/RailsApps/asset_pipeline_test/public/assets/application-a51a53658dfaa975cb4363f51d14bccf24d66c3d90c2186bf834c157151c4bd1.js rake中止!NoMethodError: nil:NilClass 任务的未定义方法`post': TOP => assets:precompile

不同的应用程序会出现相同的错误。

与其他报告问题的区别:

-- 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)设置的,但它们当然不是新鲜的

乌里

4

1 回答 1

0

检查系统当前用户的ruby​​ 版本

rvm list

确保在捆绑期间采取相同的措施。如果需要其他版本,请正确为用户安装 ruby​​。

也以更好的方式捆绑

bundle exec rake assets:precompile RAILS_ENV=production

bundle 的 ruby​​ 版本应该与当前系统用户的 ruby​​ 版本匹配。可以在以下位置找到捆绑包

/usr/bin/

或者

/usr/local/
于 2018-05-08T11:41:31.227 回答