npm run serve失败:重新生成node_modules/.bin

背景

最近在开发一个前端项目,这个项目是从老的git工程拷贝过来的,在执行npm run serve的时候,报错说找不到vue-cli-service命令,但是原来的那个项目这么操作是没有问题的。

报错:code: 'MODULE_NOT_FOUND', xxx/node_modules/.bin/vue-cli-service出问题了。

npm run serve失败:重新生成node_modules/.bin_第1张图片

node_modules/.bin的作用

执行npm run,可以看到当前的package.json里面定义了三个可以执行的脚本命令,npm 

npm run serve失败:重新生成node_modules/.bin_第2张图片

执行过程:

npm run-script(例如npm run serve)->当前shell环境里面创建子shell环境->在子shell里面执行具体脚本->子shell先中临时添加node_modules/.bin到PATH中->子shell中脚本执行完毕后,PATH恢复到之前的样子(不影响父shell中PATH)

这样做避免了影响npm的全局安装。

解决过程

首先看node_modules/.bin下面是否存在vue-cli-service,确实是存在的,但是由于是直接cp过来的,原来的软链接没了。

npm run serve失败:重新生成node_modules/.bin_第3张图片

重新生成node_modules/.bin

#删除原来的旧目录
rm -rf node_modules/.bin
#重新编译
npm rebuild

npm run serve失败:重新生成node_modules/.bin_第4张图片

如图,这样就重新生成了正确的软链接文件。

可以尝试再次执行:npm run serve,就不会报错了。 

传送门:2021最新测试资料与大厂招聘合集

博主:测试生财(一个不为996而996的测开码农)

座右铭:专注测试开发与自动化运维,努力读书思考写作,为内卷的人生奠定财务自由。

内容范畴:技术提升,职场杂谈,事业发展,阅读写作,投资理财,健康人生。

csdn:https://blog.csdn.net/ccgshigao

博客园:https://www.cnblogs.com/qa-freeroad/

51cto:https://blog.51cto.com/14900374

微信公众号:测试生财(定期分享独家内容和资源)

你可能感兴趣的:(前端,运维&环境,shell,vue,npm,node_modules)