「这是我参与2022首次更文挑战的第1天,活动详情查看:2022首次更文挑战」
背景
Vue3.x+TypeScript 完成搭建和项目配置后,cd进项目目录,使用npm进行包安装后不出意外会出现如下报错,如下:
Error: Cannot find module 'fork-ts-checker-webpack-plugin-v5'
Require stack:
....省略
解决
1.安装 fork-ts-checker-webpack-plugin-v5
fork-ts-checker-webpack-plugin-v5我们第一反应就是缺少fork-ts-checker-webpack-plugin-v5这个包,那我们直接安装不就解决了吗?我们试一试:
使用
npm install fork-ts-checker-webpack-plugin-v5
安装好了,我们再试npm run serve,发现还是报错!!!
所以这个办法不行
于是我就百度了一下解觉办法!
2.升级node或者升级vue cli
node或者升级vue cli网上有说node 版本低了或者vue cli低了,于是我看了我的node 版本
我一看版本并不低
所以这个办法不行
3.删除package-lock.json
package-lock.json我尝试删除package-lock.json, 再npm i,还是不行
所以这个办法不行
4. 安装 fork-ts-checker-webpack-plugin
npm i fork-ts-checker-webpack-plugin
安装完成后,npm run serve就不报错了!!!
所以这个办法可以
猜想:可能作者在内部给fork-ts-checker-webpack-plugin起了个别名fork-ts-checker-webpack-plugin-v5,所以只需要安装fork-ts-checker-webpack-plugin就可以了!!
5. 修改 @vue/cli-plugin-typescript版本
"devDependencies": { "@vue/cli-plugin-typescript": "~4.5.0", },
修改
"@vue/cli-plugin-typescript": "~4.4.0",
将package.json文件里的"devDependencies"中的"@vue/cli-plugin-typescript"从 “~4.5.0"修改为 "~4.4.0",此时执行 npm run serve不报错了!!!
所以这个办法可以
思考
为什么安装
fork-ts-checker-webpack-plugin-v5不行,安装fork-ts-checker-webpack-plugin就可以?
于是我去npmjs看了看,结果如下:
翻译:该软件包包含恶意代码,已被 npm 安全团队从注册表中删除。已发布占位符以确保用户将来不会受到影响。
原来是fork-ts-checker-webpack-plugin-v5这个插件库有恶意代码,已经被npmjs下架了!!!
fork-ts-checker-webpack-plugin-v5这总做法,对我们用户来说是个bug,但是对于一个开源的插件并且用户量并不低的插件,存在恶意代码。这对用用户是不负责的行为!!!
下面是fork-ts-checker-webpack-plugin的文档和地址链接:
npm : www.npmjs.com/package/for…
github: github.com/TypeStrong/…
所以大家下载插件的时候要注意,最好还是在 npmjs 的网站上下载,github上下载的最好不要直接用在生产环境中!!!