rails 6 个 webpacker 在生产中:rake assets:precompile 失败
rails 6 webpacker in production: rake assets:precompile fails
我在生产服务器上设置了一个典型的 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
这是 manifest.js 文件
//= link_tree ../images
//= link_directory ../stylesheets .css
我不知道我做错了什么。万一我记错了,webpacker 不是代替了 sprockets 吗?
在 manifest.js
中,您的错误告诉您在 manifest.js
第 2 行中,link_directory
参数必须是目录,而不是文件。大概应该是这样的
//= link_directory ../stylesheets .css
如果您注意到 stylesheets
和 .css
之间有空隙,这意味着 link stylesheets
目录中的所有 css
文件,必须有是您的代码中的一些格式问题。修复它,它应该可以工作!
仔细检查所有资产文件夹中的空 .keep
文件
常见的罪魁祸首可能是图像文件夹
这个 post 也可能有帮助
对于遇到此错误的任何其他人,我只是在 assets
中添加了一个名为 stylesheets
的目录,并在其中添加了一个文件 .keep
。这解决了我的问题。
在 images
和 javascript
文件夹中添加一个 .keep
文件帮我解决了这个问题。
我在生产服务器上设置了一个典型的 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
这是 manifest.js 文件
//= link_tree ../images
//= link_directory ../stylesheets .css
我不知道我做错了什么。万一我记错了,webpacker 不是代替了 sprockets 吗?
在 manifest.js
中,您的错误告诉您在 manifest.js
第 2 行中,link_directory
参数必须是目录,而不是文件。大概应该是这样的
//= link_directory ../stylesheets .css
如果您注意到 stylesheets
和 .css
之间有空隙,这意味着 link stylesheets
目录中的所有 css
文件,必须有是您的代码中的一些格式问题。修复它,它应该可以工作!
仔细检查所有资产文件夹中的空 .keep
文件
常见的罪魁祸首可能是图像文件夹
这个 post 也可能有帮助
对于遇到此错误的任何其他人,我只是在 assets
中添加了一个名为 stylesheets
的目录,并在其中添加了一个文件 .keep
。这解决了我的问题。
在 images
和 javascript
文件夹中添加一个 .keep
文件帮我解决了这个问题。