我按照本指南如何在 CF 中调试 Node.js 应用程序,但它当前不起作用,
我已经安装了 Node 检查器,并且在日志中看到如下消息:
2017-03-23T15:29:21.58+0200 [APP/PROC/WEB/0]ERR Debugger listening on [::]:5858
我执行了 ssh 命令
现在我该怎么办? 在指南中,它在 ssh 之后说了以下内容
导出 PATH=$PATH:/app/.heroku/node/bin
.heroku 应该是什么?我没有在heroku中运行... 那么我应该提供哪条路径?
2.当我在 /app/node_modules/.bin
中运行以下命令时
./node-inspector --web-port=9090
**我收到错误:** /usr/bin/env: Node :没有这样的文件或目录 任何想法 ?我想这与第一个问题有关......
我们正在开发 CF 2.74 版本
最佳答案
来自文档...
If you want the environment of your interactive SSH session to match the environment of your buildpack-based app, with the same environment variables and working directory, run the following commands after starting the session:
export HOME=/home/vcap/app
export TMPDIR=/home/vcap/tmp
cd /home/vcap/app
[ -d /home/vcap/app/.profile.d ] && for f in /home/vcap/app/.profile.d/*.sh; do source "$f"; done
source /home/vcap/app/.profile
https://docs.cloudfoundry.org/devguide/deploy-apps/ssh-apps.html#ssh-env
这些说明是通用的,对于 Node.js 构建包,您可以简单地运行 HOME=/home/vcap/app source $HOME/app/.profile.d/nodejs.sh
因为只有一个文件可以从构建包中获取。然后可以选择获取 .profile
,如果您的应用有一个并且您需要/想要包含它。
此外,正如文档提到的,您应该查看所有 .profile
和.profile.d/*.sh
运行脚本之前确保没有意外的副作用。
更新:
执行此操作的一个稍微简单的方法是运行 cf ssh myapp -t -c "/tmp/lifecycle/launcher /home/vcap/app bash ''"
。这将打开一个 bash shell,它让生命周期启动器处理采购和设置环境。
关于node.js - 在CF中调试nodejs应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42978007/