原文: Error: cannot find module [Node npm Error Solved]

如果你是一个使用 Node JS 和 React、Vue 和 Angular 等 JavaScript 库和框架的开发者,那么你可能遇到过 “Error: cannot find module” 报错。

在这篇文章中,我将告诉你如何解决这个错误。

为什么会出现 “Error: cannot find module”

这个错误的发生是由于以下原因:

  • 你正试图从你的项目目录中没有安装的模块中导入一个项目
  • 你正在从一个过时的软件包中导入一些东西
  • 你指向了一个不存在的文件

在下面的截图中,你可以看到我得到了这个错误:

ss1

我得到这个错误是因为我试图从 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 来做到这一点。

一旦我安装了软件包并运行应用程序,一切都应该成功编译:

ss2

如果你安装了该软件包,但还是出现了错误,那么请按照以下步骤操作:

  • 通过运行 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”,这意味着你没有安装你要使用的软件包。

如果即使你已经安装了该软件包,也发生错误,那么本文建议的修复方法可以帮助你解决这个问题。

谢谢你阅读本文。