【发布时间】:2021-06-11 16:29:27
【问题描述】:
规格:
- Angular CLI:8.3.29
- 节点:12.22.1
- 操作系统:linux x64
- 角度: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:静态文件 v1.5.15
启动命令:node main.js
堆栈:cflinuxfs3(基于 Cloud Foundry Linux 的文件系统 - Ubuntu 仿生 18.04 LTS)
看来node 是启动应用程序所必需的,但为什么此构建包中没有开箱即用的node?
【问题讨论】:
-
这与我所拥有的非常接近,例如github.com/textbook/salary-stats,工作正常 - Staticfile buildpack 确实使用 NGINX,不需要构建任何东西。
cf buildpacks告诉你什么? -
@jonrsharpe - 我刚刚进入设置并注意到启动命令是这样的:
Start Command: node main.js所以我猜这就是这个 buildpack 启动应用程序的方式。为什么这个 buildpack 里面没有node,我不知道... -
我在哪里部署了上述应用程序,我看到
staticfile v1.5.15但Start Command: $HOME/boot.sh,这是该 buildpack 的正确启动命令。我不确定您要部署到哪里,但它看起来配置不正确。您是否曾经通过manifest file 或CLI 为该应用设置过非默认启动命令? -
@jonrsharpe 实际上没有设置任何命令。
-
@jonrsharpe 谢谢!设置您提到的命令后,它现在可以工作了!你真是个天才!告诉我你在哪里,我有一天会买一杯咖啡。不开玩笑,伙计……
标签: node.js nginx cloud-foundry