静态文件部署失败并显示 [ERR] bash: node: command not found
Staticfile deployment fails with [ERR] bash: node: command not found
规格:
- Angular CLI:8.3.29
- 节点:12.22.1
- OS: linux x64
- Angular: 8.2.14
清单文件:
---
applications:
- name: test-app-ui
memory: 2G
path: dist
buildpacks:
- staticfile_buildpack
instances: 1
我通过 运行 ng build
创建了 dist
目录。然后推送到 CF 并在应用程序日志中出现此错误:
[ERR] bash: node: command not found
我认为 CF 应该使用 NGINX 在 dist
目录中提供这些静态文件,而不是 运行 寻找 node
服务器?
在应用程序设置页面中,我看到了这个:
Buildpack: staticfile v1.5.15
Start Command: node main.js
Stack: cflinuxfs3 (Cloud Foundry Linux-based filesystem - Ubuntu
Bionic 18.04 LTS)
看起来需要 node
才能启动应用程序,但为什么 node
在此构建包中不是开箱即用的?
Start Command: node main.js
对于根本不包含 Node 的 Staticfile buildpack 是不正确的;默认和正确的值(参见 the repo)是:
Start Command: $HOME/boot.sh
很可能在某些时候有人通过 cf push -c ...
or with a command:
in the manifest file. You can reset back to the buildpack default using either of the methods shown in the docs:
覆盖了它
cf push -c null ...
;或
command: null
在清单中。
如果这不起作用,并且实际的 buildpack 默认值不正确,您需要与您的管理员联系以修复该问题(可能您正在组织内使用自定义 buildpack),同时您可以使用上述任一方法显式设置 $HOME/boot.sh
。
规格:
- Angular CLI:8.3.29
- 节点:12.22.1
- OS: linux x64
- Angular: 8.2.14
清单文件:
---
applications:
- name: test-app-ui
memory: 2G
path: dist
buildpacks:
- staticfile_buildpack
instances: 1
我通过 运行 ng build
创建了 dist
目录。然后推送到 CF 并在应用程序日志中出现此错误:
[ERR] bash: node: command not found
我认为 CF 应该使用 NGINX 在 dist
目录中提供这些静态文件,而不是 运行 寻找 node
服务器?
在应用程序设置页面中,我看到了这个:
Buildpack: staticfile v1.5.15
Start Command: node main.js
Stack: cflinuxfs3 (Cloud Foundry Linux-based filesystem - Ubuntu Bionic 18.04 LTS)
看起来需要 node
才能启动应用程序,但为什么 node
在此构建包中不是开箱即用的?
Start Command: node main.js
对于根本不包含 Node 的 Staticfile buildpack 是不正确的;默认和正确的值(参见 the repo)是:
Start Command: $HOME/boot.sh
很可能在某些时候有人通过 cf push -c ...
or with a command:
in the manifest file. You can reset back to the buildpack default using either of the methods shown in the docs:
cf push -c null ...
;或command: null
在清单中。
如果这不起作用,并且实际的 buildpack 默认值不正确,您需要与您的管理员联系以修复该问题(可能您正在组织内使用自定义 buildpack),同时您可以使用上述任一方法显式设置 $HOME/boot.sh
。