我按照本指南如何在CF中调试node.js应用程序,它目前无法正常工作,
我已经安装了节点检查器,我在日志中看到了消息,如:
2017-03-23T15:29:21.58+0200 [APP/PROC/WEB/0]ERR Debugger listening on [::]:5858
我做了ssh命令
现在该怎么办? 在指南中,它在ssh之后说了以下内容
export 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
答案 0 :(得分:2)
我建议阅读Bluemix documentation on Application Management的这篇文章。它包含Liberty
和Node.js
个应用的部分。对于Node.js,它解释了如何启用检查器。
针对具体问题:您要查找的node
可执行文件位于/app/vendor/node/bin
下。所以命令是:
export PATH=$PATH:/app/vendor/node/bin
答案 1 :(得分:2)
来自文档...
如果您希望交互式SSH会话的环境与基于buildpack的应用程序的环境匹配,并且具有相同的环境变量和工作目录,请在启动会话后运行以下命令:
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,它让生命周期启动器处理来源和建立环境。