M1 MacBook Air运行Vue项目报Missing script: "dev"且8080端口无法访问
问题1:npm run dev 报 Missing script: "dev" 解决方法
- 确认执行命令的目录为项目根目录(即package.json文件所在的目录),不要在src、build等子目录下执行相关命令。
- 校验package.json的JSON语法是否合法,检查引号、逗号是否存在遗漏或多余错误,执行
npm run查看输出的可用脚本列表,若列表中没有dev字段,说明package.json语法错误被npm忽略。 - 切换适配的Node.js版本:你当前使用的是vue-cli2生成的老项目模板,依赖的webpack-dev-server版本对高版本Node兼容性差,M1芯片Mac建议通过nvm切换到Node 14.x版本,适配性最优。
- 重装依赖:删除项目根目录下的node_modules文件夹和package-lock.json文件,执行
npm install重新安装依赖,不要使用cnpm等第三方包管理器安装,避免依赖损坏。
问题2:localhost:8080无法访问解决方法
- 先完成问题1的修复,确保
npm run dev执行后终端输出服务启动成功的日志,留意日志中输出的实际监听端口,若8080端口被占用,webpack-dev-server会自动切换到其他端口,以终端输出的端口为准。 - 手动检查8080端口占用情况:执行
sudo lsof -i:8080,如果有输出结果说明该端口被其他程序占用,可关闭对应占用程序,或者修改build/webpack.dev.conf.js中devServer配置的port字段,改为其他未被占用的端口(如8081)。 - 检查本地hosts配置:执行
cat /etc/hosts确认存在127.0.0.1 localhost的映射条目,若缺失手动补充即可。 - 暂时关闭本地代理、VPN类软件,这类软件可能会拦截本地端口的访问请求。
内容的提问来源于stack exchange,提问作者Kabang
相关产品推荐
相关产品推荐

