无法 运行 我的节点应用程序在 ubuntu 16.04 的端口 80

Not able to run my node app at port 80 on ubuntu 16.04

我想 运行 我的节点应用程序在 ubuntu 16.04 的端口 80。但是当我尝试 运行 我的应用程序时 npm start 它的抛出错误 Port in already in use while it is not in use.根据 Github Reply,我们需要在低于 1048 的端口上 运行 的根权限,这是正确的。 所以当我尝试 运行 我的应用程序时 sudo npm install 它正在抛出 sudo: npm: command not found

那么谁能建议我如何在 ubuntu 上 运行 npm start 使用 root 特权。我用谷歌搜索但找不到任何东西。

首先运行which npm获取npm的完整路径。

然后运行sudo FULL_PATH_TO_NPM start.

或者制作单行:

sudo $(which npm) start

sudo 和 npm(包括 node)应该在同一个目录下。例如,sudo 在 /usr/bin/ 中始终可用,因此在安装 npm 和 node 后也应该在 /usr/bin/ 中。早些时候我使用 NVM 安装节点和 npm。我删除了 .nvm 目录并引用了 node installation link,它将 npm 和节点都放在了 /usr/bin/ 中。然后现在我可以使用 sudo 运行 npm。