我正在使用vue init webpack project-name生成一个webpack开发服务器.生成服务器后,运行npm run dev会产生以下错误:
> client@1.0.0 dev /home/localhost/dev/vuetest/client
> webpack-dev-server --inline --progress --config build/webpack.dev.conf.js
10% building modules 1/3 modules 2 active .../client/index.js?http://localhost:8080events.js:167
throw er; // Unhandled 'error' event
^
Error: getaddrinfo ENOTFOUND localhost
at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:50:26)
Emitted 'error' event at:
at GetAddrInfoReqWrap.doListen [as callback] (net.js:1498:12)
at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:50:17)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! client@1.0.0 dev: `webpack-dev-server --inline --progress --config build/webpack.dev.conf.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the client@1.0.0 dev script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /home/localhost/.npm/_logs/2018-06-17T22_25_08_212Z-debug.log
这是来自package.json的开发脚本,由vue自动生成
"dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js"
这是我正在使用的node和vue-cli的版本:
$node -v
v10.4.0
$vue -V
3.0.0-rc.2
到目前为止我尝试过的事情:
>将webpack-dev-server和webpack本身回滚到以前的版本
>检查我的所有端口;我绝对没有任何运行:8080和webpack应该自动寻找新的端口.此问题的先前答案广泛表明这是一个端口冲突问题,但事实并非如此.
>重新安装vue-cli
有趣的是,我在Windows 10和openSUSE Tumbleweed(当前机器)上都出现了这个错误,但是当我在Ubuntu VM上生成相同的vue项目时,它运行得很好.
编辑:
问题是由于webpack.dev.conf.js试图使用我的linux主机名而不是默认的“localhost”.改变这一行:
host: HOST || config.dev.host,
对此:
host: "localhost",
解决了这个问题.
解决方法:
尝试用这个创建项目.您使用版本3 rc.2并且init命令属于版本2.
vue create project-name
文档:
https://cli.vuejs.org/guide/creating-a-project.html#using-the-gui