原文: Error: cannot find module [Node npm Error Solved]
如果你是一个使用 Node JS 和 React、Vue 和 Angular 等 JavaScript 库和框架的开发者,那么你可能遇到过 “Error: cannot find module” 报错。
在这篇文章中,我将告诉你如何解决这个错误。
为什么会出现 “Error: cannot find module”
这个错误的发生是由于以下原因:
- 你正试图从你的项目目录中没有安装的模块中导入一个项目
- 你正在从一个过时的软件包中导入一些东西
- 你指向了一个不存在的文件
在下面的截图中,你可以看到我得到了这个错误:

我得到这个错误是因为我试图从 react-icons 软件包中导入 freeCodeCamp 图标,而我没有安装这个软件包。
import { FaFreeCodeCamp } from "react-icons/fa";
如何修复 “cannot find module” 的错误
如果你遇到这个错误,解决办法总是在错误中。未找到的模块(包)总是以 “Module not found: Error: Can't resolve 'package name' in 'project directory'” 的形式出现,可以在报错中找到它的名称。
在我的例子中,我得到的是这样的:“Module not found: Error: Can't resolve 'react-icons/fa' in 'C:\Users\user\Desktop\Projects\Address Locator\address-locator\src'”。
为了修复这个错误,你需要安装你的项目目录中没有的软件包—— npm install package-name
or yarn add package-name
.
在我的例子中,我需要安装 react-icons
包,这样 freeCodeCamp 的图标就可以被解决。我将通过运行 yarn add react-icons
来做到这一点。
一旦我安装了软件包并运行应用程序,一切都应该成功编译:

如果你安装了该软件包,但还是出现了错误,那么请按照以下步骤操作:
- 通过运行
rm -rf node_modules
删除 node 模块文件夹 - 通过运行
rm -f package-lock.json
删除package.lock.json
文件 - 通过运行
npm cache clean --force
来清理 NPM 缓存 - 通过运行
npm install
重新安装所有软件包
这应该能为你修复错误。
总结
当你遇到 “cannot find module” 报错,或者 “module not found”,这意味着你没有安装你要使用的软件包。
如果即使你已经安装了该软件包,也发生错误,那么本文建议的修复方法可以帮助你解决这个问题。
谢谢你阅读本文。