Error: Cannot find module ‘fork-ts-checker-webpack-plugin-v5‘解决与思考

4,114 阅读2分钟

「这是我参与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这个包,那我们直接安装不就解决了吗?我们试一试:

使用 npm install fork-ts-checker-webpack-plugin-v5

image.png

安装好了,我们再试npm run serve,发现还是报错!!!

所以这个办法不行

于是我就百度了一下解觉办法!

image.png

2.升级node或者升级vue cli

网上有说node 版本低了或者vue cli低了,于是我看了我的node 版本

image.png

image.png

我一看版本并不低

所以这个办法不行

3.删除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看了看,结果如下:

image.png

翻译:该软件包包含恶意代码,已被 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/…

image.png

所以大家下载插件的时候要注意,最好还是在 npmjs 的网站上下载,github上下载的最好不要直接用在生产环境中!!!

往期文章