node.js - 在CF中调试nodejs应用程序

标签 node.js ssh ibm-cloud cloud-foundry

我按照本指南如何在 CF 中调试 Node.js 应用程序,但它当前不起作用,

https://medium.com/@KevinHoffman/debugging-node-js-applications-in-cloud-foundry-b8fee5178a09#.ekkzo3f63

我已经安装了 Node 检查器,并且在日志中看到如下消息:

2017-03-23T15:29:21.58+0200 [APP/PROC/WEB/0]ERR Debugger listening on [::]:5858

我执行了 ssh 命令

现在我该怎么办? 在指南中,它在 ssh 之后说了以下内容

  1. 导出 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/

相关文章:

javascript - 使用字符串变量访问nodejs静态方法

ubuntu - 我无法通过 SSH 登录到托管 Ubuntu 20 LTS 镜像的 Compute Engine 实例

ruby-on-rails - capistrano 版本 3 升级令人困惑

mysql - "Can' t 使用 SSH 隧道连接到本地 MySQL 服务器

java - IBM Watson Assistant、Telegram 和 Python

javascript - Express框架中的node-twitter

node.js - 验证在带有 Mongo 的 Node 中的 Mongoose 中不起作用

javascript - 无法从 express.js 加载静态文件

node.js - 使用 Bluemix 从 NodeJS 公开端口 502 和 1002

ibm-cloud - 用于使用自定义域直接访问 bluemix 应用程序