npm run dev 起不来报错,不要慌,看这里。

本文详细介绍了在使用Webpack-dev-server遇到权限拒绝错误时的解决方案,包括通过npm audit fix修复,降级Webpack-dev-server版本至2.9.1,以及重新运行npm run dev的步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

(meiduo_admin) python@ubuntu:~/Desktop/meiduo_admin/meiduo_admin/meiduo_mall_admin$ npm run dev

> meiduo_mall@1.0.0 dev /home/python/Desktop/meiduo_admin/meiduo_admin/meiduo_mall_admin
> webpack-dev-server --inline --progress --config build/webpack.dev.conf.js

sh: 1: webpack-dev-server: Permission denied
npm ERR! code ELIFECYCLE
npm ERR! errno 126
npm ERR! meiduo_mall@1.0.0 dev: `webpack-dev-server --inline --progress --config build/webpack.dev.conf.js`
npm ERR! Exit status 126
npm ERR! 
npm ERR! Failed at the meiduo_mall@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/python/.npm/_logs/2019-06-03T10_23_35_355Z-debug.log

npm run dev 起不来,在命令终端输入npm audit fix,重新输入即可
在这里插入图片描述

然后继续运行npm run dev
在这里插入图片描述

另外一种解决办法:这是新版webpack存在的BUG,装老版本就好。

1、npm uninstall webpack-dev-server

2、npm install webpack-dev-server@2.9.1

3、npm run dev

<think>好的,我需要帮助用户解决在使用npm run dev时如何指定端口运行开发服务器的问题。用户提到了Vue、React和Node.js这三个技术栈,所以我要分别针对这三个框架给出不同的方法。 首先,我应该回忆一下各个框架的配置方式。对于Vue,使用Vue CLI创建的项目通常会在package.json中有一个serve脚本,而默认的启动命令是npm run serve,但用户可能习惯使用npm run dev,这取决于项目的配置。不过根据引用4的内容,Vue CLI 3之后使用npm run serve来启动,所以可能需要检查用户的package.json里的脚本名称。但用户的问题是关于npm run dev,所以可能项目自定义了脚本名称。不管怎样,指定端口的方法可能通过环境变量或者修改配置文件。 对于React,使用create-react-app创建的项目,启动脚本通常是start,对应的命令是npm start。同样,如果用户使用的是npm run dev,可能是项目自定义的脚本,但原理类似。可以通过环境变量PORT来指定端口。 Node.js项目的话,如果是Express或类似的框架,通常是在代码中设置端口,可以通过环境变量传入,或者在启动命令时指定。 接下来要参考用户提供的引用内容。引用4提到Vue项目使用npm run serve,而用户的问题是关于npm run dev,可能用户的项目中dev脚本对应serve命令。需要说明如何通过修改脚本或环境变量来指定端口。 引用3中提到了Express后端如何设置路由,但可能和端口设置无关,不过可以提醒用户Node.js项目中端口的设置方式。引用5提到Webpack开发服务器的配置,其中devServer的host和port设置,这可能适用于React或Vue项目中的Webpack配置。 现在需要整理出每个框架的具体步骤: 1. Vue项目: - 通过环境变量:在启动命令前设置PORT,例如PORT=3000 npm run dev - 修改vue.config.js中的devServer配置,设置port属性 - 在package.json的脚本中添加--port参数,如"dev": "vue-cli-service serve --port 3000" 2. React项目: - 使用环境变量PORT,例如PORT=3001 npm run dev - 修改scripts/start.js中的默认端口(不推荐,因为可能被eject过) - 或者在package.json的脚本中添加--port参数,但需要确认是否支持。create-react-app可能不支持,所以更推荐使用环境变量 3. Node.js/Express项目: - 在代码中使用process.env.PORT || 默认端口,然后在启动时指定PORT=3002 npm run dev - 或者在启动命令中直接设置端口,如node server.js --port 3002,但需要代码中解析参数 另外,引用2提到配置npm镜像源,但和当前问题无关。引用5中的devServer配置可能适用于Vue或React项目中的webpack配置,可以提到修改webpack.config.js中的devServer部分。 需要注意跨平台环境变量的设置问题,比如在Windows中使用set PORT=3000 && npm run dev可能不生效,推荐使用cross-env这样的工具。 总结步骤时,要分点清晰,每个框架单独说明,并给出多种方法。同时,提醒用户检查防火墙或配置文件中的其他设置,如引用5提到的host设置为0.0.0.0可能导致端口被占用的问题。</think>以下是针对$Vue$、$React$和$Node.js$项目在使用$npm\ run\ dev$时指定端口的解决方案: --- ### 一、Vue项目指定端口 #### 方法1:环境变量直接指定 ```bash PORT=3000 npm run dev ``` 通过$PORT$环境变量覆盖默认端口[^4] #### 方法2:修改vue.config.js ```javascript module.exports = { devServer: { port: 3000 // 强制指定端口 } } ``` 此配置优先级高于环境变量[^5] --- ### 二、React项目指定端口 #### 方法1:通过.env文件配置 在项目根目录创建$.env$文件: ```text PORT=3000 ``` 此配置对$create-react-app$创建的工程有效[^2] #### 方法2:修改启动命令 在$package.json$中修改scripts: ```json "scripts": { "dev": "set PORT=3000 && react-scripts start" } ``` Windows系统需使用$cross-env$工具保证跨平台兼容性 --- ### 三、Node.js项目指定端口 #### 方法1:代码动态获取 ```javascript const port = process.env.PORT || 3000; app.listen(port, () => { console.log(`Server running on port ${port}`); }); ``` #### 方法2:命令行传参 ```bash npm run dev -- --port 3000 ``` 需在代码中解析参数: ```javascript const args = require('minimist')(process.argv.slice(2)); const port = args.port || 3000; ``` --- ### 四、通用验证方法 执行后通过以下命令验证端口占用: ```bash lsof -i :3000 # macOS/Linux netstat -ano | findstr :3000 # Windows ```
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值