Rails 6 Webpacker 在生产中:Rake Assets:预编译失败



我在生产服务器上设置了一个典型的 rails 6.0.2 应用程序,我正在使用 git 钩子来部署该应用程序。 当我尝试运行时:rails assets:precompile出现以下错误:

rake aborted!
Sprockets::ArgumentError: link_directory argument must be a directory
/home/user/myapp/app/assets/config/manifest.js:2

这是清单.js文件

//= link_tree ../images
//= link_directory ../stylesheets .css

我不知道我做错了什么。 除非我弄错了,否则网络打包器不会取代链轮吗?

对于收到此错误的其他任何人,我只是在assets中添加了一个目录,称为stylesheets,并在其中添加了文件.keep。 这解决了我的问题。

manifest.js中,您的错误告诉manifest.js第 2 行中,link_directory参数必须是目录,而不是文件。它可能看起来像这样

//= link_directory ../stylesheets .css

如果你注意到stylesheets.css之间有间隙,这意味着链接stylesheets目录中的所有css文件,你的代码中一定存在一些格式问题。修复它,它应该可以工作!

imagesjavascript文件夹中添加一个.keep文件为我修复了它。

仔细检查所有资产文件夹中的 empt.keep文件

常见的罪魁祸首可能是图像文件夹

这篇文章也可能有所帮助

require_tree参数必须是 Rails 5 升级应用程序中的目录

相关内容

  • 没有找到相关文章

最新更新