当我运行npm run dev -- -H 192.168.1.100
时遇到此错误
{ Error: listen EADDRNOTAVAIL: address not available 192.168.1.100:3000
at Server.setupListenHandle [as _listen2] (net.js:1273:19)
at listenInCluster (net.js:1338:12)
at doListen (net.js:1471:7)
at process._tickCallback (internal/process/next_tick.js:63:19)
code: 'EADDRNOTAVAIL',
errno: 'EADDRNOTAVAIL',
syscall: 'listen',
address: '192.168.1.100',
port: 3000 }
此package.json
{
"name": "Edel",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"dev": "next",
"build": "next build",
"start": "next start"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"next": "^7.0.2",
"react": "^16.7.0",
"react-dom": "^16.7.0"
}
}
答案 0 :(得分:0)
在这里拒绝192.168.1.100可能有很多原因,如果不进一步了解您的设置,很难回答。您的路由器很可能为您的计算机分配了一个本地IP,该IP不是192.168.1.100,而是192.168.1。*范围内的任何一个,这使该地址在您的网络上不可用(甚至在您的计算机上也更少)。 / p>
但是,您在“ node.js”而不是“ networking”下询问的事实告诉我,您的真正问题可能是“我如何以某种方式将本地开发的next.js服务器公开到Internet”。长而正确的答案有点复杂(可能涉及“不要在生产中使用此工具”),但是有一个用于开发目的的捷径: -不要试图弄乱next.js的主机名设置,将其保留为默认设置(可能是0.0.0.0或localhost或127.0.0.1,端口为3000) -本地服务器启动后,请尝试ngrok,它将无缝(免费)创建通往本地开发环境的隧道。
在答案的第二部分中我可能完全错了,但是在这种情况下,请多说明一些您要实现的目标。长话短说:您真正想要的是将您的next.js绑定到192.168.x.x地址的可能性很小。 :-)