无法让 Next.js 使用自定义主机名
can't get Next.js to work with custom hostname
当我 运行 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"
}
}
这里拒绝 192.168.1.100 的原因可能有很多,如果不了解您的设置就很难回答。最有可能的是,您的路由器为您的计算机分配了一个本地 IP,该 IP 不是特定的 192.168.1.100,而是 192.168.1.* 范围内的任何地址,这使得该地址在您的网络上不可用(在您的计算机上更是如此)。
然而,你在 "node.js" 而不是 "networking" 下问这个问题告诉我你真正的问题可能是 "how can I expose my local, development next.js server to internet somehow"。长而正确的答案有点复杂(可能涉及 "don't do this for production stuff" 的内容),但有一个开发目的的捷径:
- 不要试图弄乱 next.js 的主机名设置,将其保留为默认值(可能是 0.0.0.0 或 localhost 或 127.0.0.1,端口为 3000)
- 一旦您的本地服务器启动,请尝试 ngrok,这将无缝地(免费)创建一个通往您本地开发环境的隧道。
我的回答的第二部分可能完全错误,但在那种情况下,请稍微解释一下您要完成的任务。长话短说:您真正想要的是将 next.js 绑定到 192.168.x.x 地址的可能性很小。 :-)
当我 运行 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"
}
}
这里拒绝 192.168.1.100 的原因可能有很多,如果不了解您的设置就很难回答。最有可能的是,您的路由器为您的计算机分配了一个本地 IP,该 IP 不是特定的 192.168.1.100,而是 192.168.1.* 范围内的任何地址,这使得该地址在您的网络上不可用(在您的计算机上更是如此)。
然而,你在 "node.js" 而不是 "networking" 下问这个问题告诉我你真正的问题可能是 "how can I expose my local, development next.js server to internet somehow"。长而正确的答案有点复杂(可能涉及 "don't do this for production stuff" 的内容),但有一个开发目的的捷径: - 不要试图弄乱 next.js 的主机名设置,将其保留为默认值(可能是 0.0.0.0 或 localhost 或 127.0.0.1,端口为 3000) - 一旦您的本地服务器启动,请尝试 ngrok,这将无缝地(免费)创建一个通往您本地开发环境的隧道。
我的回答的第二部分可能完全错误,但在那种情况下,请稍微解释一下您要完成的任务。长话短说:您真正想要的是将 next.js 绑定到 192.168.x.x 地址的可能性很小。 :-)