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

Node.js 无法在ubuntu 16.04的端口80运行我的节点应用程序,node.js,angular,ubuntu,npm,npm-start,Node.js,Angular,Ubuntu,Npm,Npm Start,我想在ubuntu 16.04的80端口运行我的节点应用程序。但是,当我试图用npm start运行我的应用程序时,它的抛出错误端口已在使用中,而它未在使用中。根据,我们需要root权限才能在1048以下的端口上运行,这是正确的。 因此,当我试图像这样运行我的应用程序时,它抛出了sudo:npm:command not found 那么有谁能给我建议一下,如何在ubuntu上以root权限运行npm start。我在谷歌上搜索了一下,但什么也没找到 首先运行哪个npm,以获取npm的完整路径 然

我想在ubuntu 16.04的80端口运行我的节点应用程序。但是,当我试图用
npm start
运行我的应用程序时,它的抛出错误端口已在使用中,而它未在使用中。根据,我们需要root权限才能在1048以下的端口上运行,这是正确的。 因此,当我试图像这样运行我的应用程序时,它抛出了sudo:npm:command not found


那么有谁能给我建议一下,如何在ubuntu上以root权限运行
npm start
。我在谷歌上搜索了一下,但什么也没找到

首先运行
哪个npm
,以获取npm的完整路径

然后运行
sudo FULL\u PATH\u以\u NPM start

或制作一个单衬板:

sudo $(which npm) start

首先运行
哪个npm
,以获取npm的完整路径

然后运行
sudo FULL\u PATH\u以\u NPM start

或制作一个单衬板:

sudo $(which npm) start

sudo和npm(包括node)应该是同一个目录。例如,sudo总是在
/usr/bin/
中可用,因此在安装npm和node之后,也应该在
/usr/bin/
中使用。之前我使用NVM安装node和npm。我删除了
.nvm
目录,并引用了将npm和节点放置在
/usr/bin/
中的目录。现在我可以和sudo一起运行npm了

sudo和npm(包括node)应该是同一个目录。例如,sudo总是在
/usr/bin/
中可用,因此在安装npm和node之后,也应该在
/usr/bin/
中使用。之前我使用NVM安装node和npm。我删除了
.nvm
目录,并引用了将npm和节点放置在
/usr/bin/
中的目录。现在我可以和sudo一起运行npm了

我尝试了这个“sudo/home/ubuntu/.nvm/versions/node/v8.11.4/bin/npm start”,但它抛出了类似“/usr/bin/env:“node”:没有这样的文件或目录的错误,而我保留了“/home/ubuntu/.nvm/versions/node/v8.11.4/”环境变量路径。我可以看到使用node-v-->v8.11.4和npm-v-->6.4.1OK的版本,所以您的问题是
节点和
npm
不在root的
$PATH
中。毫不奇怪,请参见此处:-您需要在根环境中设置
$PATH
,那里有各种解决方案。不知怎的,这让我找到了解决方案,并将答案写在下面。非常感谢@John。我尝试了这个“sudo/home/ubuntu/.nvm/versions/node/v8.11.4/bin/npm start”,但它抛出了类似“/usr/bin/env:'node”:没有这样的文件或目录的错误,而我保留了“/home/ubuntu/.nvm/versions/node/v8.11.4/”环境变量路径。我可以看到使用node-v-->v8.11.4和npm-v-->6.4.1OK的版本,所以您的问题是
节点和
npm
不在root的
$PATH
中。毫不奇怪,请参见此处:-您需要在根环境中设置
$PATH
,那里有各种解决方案。不知怎的,这让我找到了解决方案,并将答案写在下面。非常感谢你,约翰。