webpack-dev-server找不到本地主机

lqfhib0f  于 2022-12-04  发布在  Webpack
关注(0)|答案(9)|浏览(210)

我尝试使用webpack开始React,但在尝试设置webpack-dev-server时不断遇到错误。我运行了

npm install webpack-dev-server

紧接着

webpack-dev-server

命令行返回以下内容:

events.js:154
      throw er; // Unhandled 'error' event
      ^

Error: getaddrinfo ENOTFOUND localhost
    at errnoException (dns.js:26:10)
    at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:77:26)

有什么线索吗?
我真的不知道webpack是如何工作的,试图寻找问题的根源,但我也一直在开发一个网站使用PHP在端口80与MAMP,我不知道这是否可能是问题的一部分?

vddsk6oq

vddsk6oq1#

解决了,原来我的主机文件(在mac上的/etc/hosts下找到的)有一行丢失,所以webpack找不到localhost。我把它恢复到默认的these instructions,现在它可以工作了!

q7solyqu

q7solyqu2#

确保/etc/hosts文件包含localhost。
打开/etc/hosts

$ sudo vi /etc/hosts

复制并粘贴以下内容(如果缺少):

127.0.0.1   localhost
255.255.255.255 broadcasthost
::1 localhost
fe80::1%lo0 localhost
wko9yo5t

wko9yo5t3#

即使在恢复主机文件并尝试使用不同的端口后也不起作用。我使它起作用的方法是在启动服务器时给予一个自定义主机(127.0.0.1)和端口(3001或任何其他可用的端口):

webpack-dev-server --host 127.0.0.1 --port 3001
nfzehxib

nfzehxib4#

该错误最常见的原因是其他程序已经在使用该端口。请尝试在另一个端口上启动它。

webpack-dev-server --port 3001
3qpi33ja

3qpi33ja5#

同时检查/etc/hosts是否也有127.0.0.1指向本地主机的www.example.com。

6tqwzwtp

6tqwzwtp6#

也遇到了同样的错误,但没有修复。
在我的例子中,我不小心“损坏”了/etc/hosts文件,因为我可以在没有sudo权限的情况下写入它。
线索是当我cat /etc/hosts的输出是一个混乱的行。我删除并重新创建文件为sudo,与@lizzie-cd链接,一切都恢复正常

cwxwcias

cwxwcias7#

在最新的mac和linux操作系统中,webpack开发服务器只有在添加

host: "127.0.0.1"

webpack.config中的devServer内部

5m1hhzi4

5m1hhzi48#

Hosts文件没有问题。进入web/dev.js并将文件更新为以下内容为我修复了这个问题。仍然不确定原因。

const webpack = require('webpack');
const merge = require('webpack-merge');
const path = require('path');
const { buildConfig, APP_PATH, WEB_PATH } = require('./common');

module.exports = (env, argv) => (
  merge(buildConfig(env, argv), {
    entry: path.join(WEB_PATH, 'index.hmr.js'),
    devtool: 'inline-source-map',

    plugins: [
      new webpack.HotModuleReplacementPlugin(),
    ],

    devServer: {
       contentBase: APP_PATH,
       openPage: '',
       inline: true,
       stats: 'minimal',
       open: true,
       port: 3001,
       hot: true,
       host: "127.0.0.1"
    },
  })
);
fd3cxomn

fd3cxomn9#

很奇怪。我已经明确地将dev服务器端口添加到我的主机文件中。

127.0.0.1 localhost:8001

然后npm run dev再次工作。
如果仍然不起作用,您可以尝试完全删除node_modules并重新安装。

rm -rf node_modules/
npm install # Or `yarn`

相关问题