Ruby on rails 使用capistrano和Thread资产部署rails 5.x应用程序的正确方法是什么?

Ruby on rails 使用capistrano和Thread资产部署rails 5.x应用程序的正确方法是什么?,ruby-on-rails,deployment,capistrano,yarnpkg,Ruby On Rails,Deployment,Capistrano,Yarnpkg,我对所有的js把戏都是相当陌生的,过去我只需要下载我的js文件(外部库)就可以了。现在我转而通过Thread安装js库。不管怎样,如果我在.gitignore中添加或删除/node\u模块,我总是在cap production deploy时收到此错误 Tasks: TOP => deploy:assets:precompile (See full trace by running task with --trace) The deploy has failed with an error

我对所有的js把戏都是相当陌生的,过去我只需要下载我的js文件(外部库)就可以了。现在我转而通过Thread安装js库。不管怎样,如果我在
.gitignore
中添加或删除
/node\u模块
,我总是在
cap production deploy
时收到此错误

Tasks: TOP => deploy:assets:precompile
(See full trace by running task with --trace)
The deploy has failed with an error: Exception while executing on host 92.53.97.113: rake exit status: 1
rake stdout: rake aborted!
Sprockets::FileNotFound: couldn't find file 'jquery' with type 'application/javascript'
Checked in these paths:
如果将
node\u modules
添加到
.gitignore
,我可以理解错误-因为我的js文件物理上在这个目录中,而我忽略了它,这是合理的,即无法找到jquery。但是,如果我从
.gitignore
中删除
节点\u模块
,错误仍然存在

我试图将
capistrano-warn
添加到我的GEM文件中,并将此代码段添加到我的
deploy.rb
():

但这更像是在黑暗中挑拣,因为我不知道自己在做什么

我找不到任何关于如何部署rails应用程序的适当教程,在rails应用程序中,资产由Thread管理。有什么建议吗? 有人能解释一下逻辑吗,我的作品会从哪里获得资产?从
node\u模块
文件夹?如果每个人都建议将其添加到
.gitignore
-那么从其他地方开始

编辑: 也许值得一提的是,这个应用最初是一个4.x Rails应用,后来升级到Rails 5.1.2

另外,我的
application.js
如下所示:

//= require jquery
//= require rails-ujs


//= require_tree ../../../vendor/assets/javascripts/front/first/.

//= require front/second/jquery.bxslider

//= require inputmask/dist/jquery.inputmask.bundle
//= require inputmask/dist/inputmask/phone-codes/phone
//= require inputmask/dist/inputmask/phone-codes/phone-be
//= require inputmask/dist/inputmask/phone-codes/phone-ru

//= require front/second/jquery.masonry.min

//= require front/second/js-url.min

//= require_tree ../../../vendor/assets/javascripts/front/third/.


//= require_self
//= require_tree ../../../app/assets/javascripts/front/.
//= require turbolinks

在开发模式下一切都很好。

终于找到了答案。我必须运行以下代码:

bundle config --delete bin
./bin/rails app:update:bin # or rails app:update:bin
这几乎是webpacker描述的最底层

bundle config --delete bin
./bin/rails app:update:bin # or rails app:update:bin