Error : listen EACCES 0.0.0.0:80 foreverjs

Error : listen EACCES 0.0.0.0:80 foreverjs

我有一个 nodejs 程序 运行 永远 https://www.npmjs.com/package/forever 几个月了(在 Ubuntu 16.04.2 LTS 上)。我没有遇到任何问题(我有节点 v6.11.1)。
但是我最近想使用一个叫做 bottleneck 的包,出于某些原因(因为异步语法错误)我想更新我的 nodejs。
所以我听从了他的提示 updating nodejs on ubuntu 16.04(问题即将出现), 我执行了 :

sudo npm install -g n
sudo n lts

我注意到我的应用程序已在 forever list 停止。所以 运行 :

forever start -o out.log -e err.log app.js

但是我的应用程序仍然在 forever list 中停止并且没有 app.js 任务 运行ning(使用 htop 检查)。我检查 err.log 并发现此错误消息:

Error: listen EACCES 0.0.0.0:80
at Object.exports._errnoException (util.js:1018:11)
at exports._exceptionWithHostPort (util.js:1041:20)
at Server._listen2 (net.js:1245:19)
at listen (net.js:1294:10)
at Server.listen (net.js:1390:5)
at Object.<anonymous> (/home/esu/pixelland006/app.js:35:6)
at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)

我尝试了不同的版本,但都没有。它仍然不起作用。所以我 运行 sudo n 6.11.1 回到 v6.11.1 并且我卸载了 n。我搜索了一下,发现可能是权限问题。现在我正在使用 nmv instead of n 但它仍然不起作用,我的应用程序仍然在 forever list.

中被阻止

但我注意到一些非常奇怪的事情, 当我 运行 :

forever start -o out.log -e err.log app.js

我的应用程序在 forever list 中被阻止并且没有 app.js 任务 运行ning(使用 htop 检查),但是当我这样做时:

sudo forever start -o out.log -e err.log app.js

forever 告诉我我的应用程序在 forever list 中被阻止,但我看到我的 app.js 任务 运行ning.

它已经工作了几个月,但自从我尝试更新 nodejs 以来,永远不再工作了。

现在我怎样才能 运行 我的应用程序永远?
提前谢谢你

我想我的包裹坏了。我重新安装了所有东西:npm、nodejs ...我按照以下步骤升级了我的 nodejs:https://askubuntu.com/a/548776 所以我输入了

curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs

现在由于某些原因我必须永远使用 sudo 所以我输入

sudo forever list  

获取列表并

sudo forever start -o out.log -e err.log app.js  

永远启动我的应用程序。在这两种情况下都不要忘记使用 sudo 否则会造成混淆。希望有一天它能对某人有所帮助。