如何使用 Node.js 解决“找不到模块”错误?

2024-05-11

从 GitHub 拉取模块并按照说明构建它后,我尝试使用以下命令将其拉入现有项目:

> npm install ../faye

这似乎可以解决问题:

> npm list
/home/dave/src/server
└─┬ [email protected] /cdn-cgi/l/email-protection
  ├── [email protected] /cdn-cgi/l/email-protection
  ├── [email protected] /cdn-cgi/l/email-protection
  └── [email protected] /cdn-cgi/l/email-protection

但 Node.js 找不到该模块:

> node app.js
node.js:201
        throw e; // process.nextTick error, or 'error' event on first tick
              ^
Error: Cannot find module 'faye'
    at Function._resolveFilename (module.js:334:11)
    at Function._load (module.js:279:25)
    at Module.require (module.js:357:17)
    at require (module.js:368:17)
    at Object.<anonymous> (/home/dave/src/server/app.js:2:12)
    at Module._compile (module.js:432:26)
    at Object..js (module.js:450:10)
    at Module.load (module.js:351:31)
    at Function._load (module.js:310:12)
    at Array.0 (module.js:470:10)

我真的很想了解这里发生了什么,但我有点不知道下一步该去哪里。有什么建议么?


Using npm install仅将模块安装到当前目录中(在名为的子目录中)node_modules)。 app.js 位于home/dave/src/server/?如果没有,并且您想从任何目录使用该模块,则需要使用以下命令全局安装它npm install -g.

我通常在本地安装大多数软件包,以便它们与我的项目代码一起签入。

更新(8/2019):

现在你可以使用包锁.json https://docs.npmjs.com/files/package-lock.json文件,当 npm 修改你的 node_modules 目录时自动生成。因此您可以省略包裹托运,因为package-lock.json跟踪您当前正在使用的node_modules的确切版本。要从以下位置安装软件包package-lock.json代替package.json使用命令npm ci.

更新(2016 年 3 月):

我的回复受到了很多批评,特别是我签入了我的代码所依赖的包。几天前,有人取消发布了他们的所有软件包(https://kodfabrik.com/journal/i-ve-just-liberated-my-modules https://kodfabrik.com/journal/i-ve-just-liberated-my-modules) (存档于 Wayback Machine https://web.archive.org/web/20210327093144/https://kodfabrik.com/journal/i-ve-just-liberated-my-modules)这破坏了 React、Babel 以及几乎所有其他东西。希望现在很清楚,如果您有生产代码,则不能依赖 NPM 实际上为您维护依赖项。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 Node.js 解决“找不到模块”错误? 的相关文章

随机推荐

  • 在 Grails 中使用 AOP 不适用于服务

    我使用 Grails 2 2 3 并在 grails app conf spring resources groovy 中键入以下代码 beans xmlns aop http www springframework org schema
  • 为什么没有 2 字节浮点并且已经存在实现?

    假设我真的内存不足并且想要更小的范围 类似于short vs int 着色器语言已经支持half对于半精度的浮点类型 不仅仅是来回转换使值在 1 和 1 之间 即返回一个像这样的浮点数 shortComingIn maxRangeOfSho
  • 解码 OAEP 填充时出错

    我的问题已经解决了一半 请帮助 我已使用数字签名的公钥成功加密了文本 但在解密时出现错误 解码 OAEP 填充时出错 我的代码如下 region Test Encryption public void a using var rsa new
  • Django Group权限如何在模板中打印

    如果客户登录并且有权查看管理员授予他的数据 则他在登录后将看到数据 但如果管理员没有授予他权限 则会显示此消息您无权查看此页面 就我而言 无论管理员授予什么权限 此消息始终会出现您无权查看此页面 from decorators import
  • 在 Swing 中使用印度语输入法输入文本时不显示英文字符

    我正在开发一个应用程序 它接受英语文本并使用自定义的第 3 方 API 将音译为印度语 受支持的几种语言之一 该应用程序针对 Windows XP 7 和 Ubuntu 我们使用自定义输入法来加载所需的印度语字体 并使用它渲染文本 此外 用
  • SQL Server 2008 XPath

    我们尝试根据我们提供的值过滤一组 XML 我们的数据库的 XML 字段中有以下 XML 如果传递数字 5052095050830 我们需要在 XML 中找到这个特定节点 我们提供的号码可能存在任意多次 任何机构都可以提供一些 SQL 示例来
  • MySQL JSON 存储与两个表

    与使用单独的元表相比 使用 JSON 在表中存储数据有什么好处吗 这是原始架构 Users Table UserId Username Etc 5 John Avatar Table Id UserId ImageName ImageTyp
  • Amazon EC2 实例上和本地的 RabbitMQ?

    是否可以设置一个RabbitMQ服务器上的Amazon EC2 instance 并将我办公室的机器连接到此RabbitMQ服务器并向其发送 接收消息 我会被收取费用吗Amazon对于流入 流出我的带宽 消息RabbitMQ EC2 ins
  • C# - 使用 DataAdapter 从 DataTable 更新 SQL 表 - SQL 表未更新 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions I select fromExcel
  • 将更改恢复到特定提交

    我为自己创建了一个新分支 现在我需要一次将多个提交从主分支恢复到特定提交 我知道有一个安全的命令可以使用git revert no commit COMMIT TO REVERT FROM COMMIT TO REVERT TO 这给了我e
  • 如何在 libjpeg-turbo 中使用 jpeg_mem_src、jpeg_mem_dest?

    libjpeg8 包含这两个函数 但在 libjpeg turbo 中包含以下函数 jconfig h define JPEG LIB VERSION 62 jpeglib h if JPEG LIB VERSION gt 80 Data
  • 是否有可能在linux中找到包含特定文本的文件?

    考虑这种情况 我在文件夹 Example 下有很多文件 如果我需要找到一个包含特定短语 如 Class Example 的文件 我该如何使用 Linux shell 来做到这一点 linux中有类似 定位 的函数可以做到这一点吗 Thank
  • 在优先级相等的情况下保持优先级队列插入顺序

    我正在使用priorityQueue 来实现BFS 我想在插入时和弹出后在优先级相同的情况下保持插入顺序 我重写了 equals 方法 如下所示 并且插入顺序在插入时按预期保持 但 一旦我进行删除或民意调查 元素的顺序发生变化 即使在轮询中
  • CPAN shell 内存不足。在 Unix 上如何给它更多的内存?

    我得到一个Out of memory 所有安装的消息 我以前从未使用过 cpan 并且不太确定它是如何工作的 我做了一个ulimit在 cpan 目录中 结果是无限的 这是我正在看的内容 usr bin perl MCPAN e shell
  • 无法将 C 代码链接到 lapack / blas:未定义的引用

    我已经尝试了好几个小时了 这让我发疯 我得到的最后一个错误是 demo cblas c text 0x83 undefined reference to clapack sgetrf demo cblas c text 0xa3 undef
  • tomcat在Spring Boot中不创建访问日志

    我按照中的说明进行操作this https stackoverflow com a 35001421 18573回答和弹簧靴 https docs spring io spring boot docs current reference h
  • 如何从 Oracle 中的 select 语句调用带有 Rowtype 参数的函数

    我有一个 oracle 函数 它有一个 in 参数 它是表的行类型 我需要从 select 语句将当前行传递给这个函数 以便它进行一些处理并返回一个值 是否有一个伪变量可以在 select 语句的上下文中使用 相当于触发器中的旧的和新的 我
  • 如何在fish shell脚本中获取程序名称?

    在 bash 中 与在 ruby 中一样 程序名称由 0 给出 鱼里有什么 如果有必要 我可以执行以下操作 set PROGRAM ps no header o args p self egrep o S 2 但我确信程序名称必须已经在某个
  • 如何在 Qt-Embedded 中(正确)输出多语言文本?

    我的目标系统是 linux 3 3 7 Qt Embedded 开源版 4 8 Droid 字体 取自 fonts droid 20111207 git 1 all deb Debian 软件包并复制到 usr lib fonts目录 主要
  • 如何使用 Node.js 解决“找不到模块”错误?

    从 GitHub 拉取模块并按照说明构建它后 我尝试使用以下命令将其拉入现有项目 gt npm install faye 这似乎可以解决问题 gt npm list home dave src server email protected