尝试将webpack-dev-server的端口更改为80会出现错误。

4
我在我的 package.json 中有这个:
webpack-dev-server --config config/webpack.config.js --port 80

我还尝试将端口添加到配置中,如下所示:
devServer: {
  historyApiFallback: true,
  host: '0.0.0.0',
  port: '80',
},

它会显示相同的错误信息:
webpack-dev-server --config config/webpack.config.js --port 80

loader option has been deprecated - replace with "use"
events.js:163
      throw er; // Unhandled 'error' event
      ^

Error: listen EACCES 127.0.0.1:80
    at Object.exports._errnoException (util.js:1034:11)
    at exports._exceptionWithHostPort (util.js:1057:20)
    at Server._listen2 (net.js:1257:19)
    at listen (net.js:1306:10)
    at doListening (net.js:1421:7)
    at GetAddrInfoReqWrap.asyncCallback [as callback] (dns.js:62:16)
    at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:78:10)

任何对我做错的事情提供帮助,或者关于错误的相关信息都将不胜感激。谢谢。

2
普通用户不允许绑定到80端口,低于1024的端口需要root /管理员权限。这就是为什么这些进程通常使用3000或8080端口。你为什么想在80端口上运行它? - robertklep
1
如果你使用的是Mac,使用sudo会有帮助吗?sudo webpack-dev-server --config config/webpack.config.js --port 80 - Gabriel Kohen
2个回答

13

如何修复

您需要以管理员身份使用sudo运行,或设置代理将端口80上的请求重定向到1024以上的端口。

为什么不起作用

普通用户无法监听低于1024的端口,因此无法在端口80上进行监听。


1

我正在使用Ubuntu,遇到了与端口80相关的完全相同的问题。在“npm run dev”前面加上“sudo”后,问题消失了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接