0%

Eggjs之绑定80端口引发的一场血案

前记

最近在做微信开发本地测试,需要用到80端口;鉴于Eggjs默认端口为7001,于是开始了一场Eggjs绑定80端口之战

Scripts

scripts改造,将dev命令改为如下:

1
"dev": "egg-bin dev --port=80",

问题一

当运行npm run dev之后出现下面问题

1
bind EACCES null:80, code: EACCES

绑定80端口失败,看来是权限不够

解决方案:sudo高权限运行

问题二

当运行sudo npm run dev之后出现下面问题

1
sudo: npm:找不到命令

看来是bin下面没有可执行文件

解决方案:ln -s

1
2
3
4
5
6
7
$ which npm
> /home/jakehu/.nvm/versions/node/v8.12.0/bin/npm
$ sudo ln -s /home/jakehu/.nvm/versions/node/v8.12.0/bin/npm /usr/bin/npm

$ which node
> /home/jakehu/.nvm/versions/node/v8.12.0/bin/node
$ sudo ln -s /home/jakehu/.nvm/versions/node/v8.12.0/bin/node /usr/bin/node

最后只需要运行sudo npm run dev就可以了


如果出现bind EADDRINUSE null:80, code: EADDRINUSE错误,表示有程序占用80端口,pkill掉即可

我就想试试,没别的意思!