“我如何解决?”;找不到模块";使用Node.js时出错?

“我如何解决?”;找不到模块";使用Node.js时出错?,node.js,Node.js,从GitHub中取出模块并按照说明进行构建后,我尝试使用以下方法将其拉入现有项目: > npm install ../faye 这似乎起到了作用: > npm list /home/dave/src/server └─┬ faye@0.7.1 ├── cookiejar@1.3.0 ├── hiredis@0.1.13 └── redis@0.7.1 但是Node.js找不到模块: > node app.js node.js:201 throw

从GitHub中取出模块并按照说明进行构建后,我尝试使用以下方法将其拉入现有项目:

> npm install ../faye
这似乎起到了作用:

> npm list
/home/dave/src/server
└─┬ faye@0.7.1
  ├── cookiejar@1.3.0
  ├── hiredis@0.1.13
  └── redis@0.7.1
但是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)
>节点app.js
node.js:201
抛出e;//process.nextTick错误,或第一次勾选时的“error”事件
^
错误:找不到模块“faye”
at函数。\u解析文件名(module.js:334:11)
at功能。加载(模块js:279:25)
at Module.require(Module.js:357:17)
根据需要(模块js:368:17)
反对。(/home/dave/src/server/app.js:2:12)
在模块处编译(Module.js:432:26)
at Object..js(module.js:450:10)
在Module.load(Module.js:351:31)
at功能。加载(module.js:310:12)
在Array.0中(module.js:470:10)

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

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


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

更新(2019年8月):

现在,您可以使用文件,当npm修改您的节点\模块目录时,会自动生成该文件。因此,您可以不签入包,因为
package lock.json
跟踪您当前使用的节点模块的确切版本。要从
package lock.json
而不是
package.json
安装软件包,请使用命令
npm ci

更新(2016年3月):


我的回应遭到了很多批评,特别是我签入了代码所依赖的包。几天前,有人发布了他们所有的软件包(),这破坏了React、Babel和其他几乎所有的东西。希望现在很清楚,如果您有生产代码,您就不能依赖NPM为您维护依赖关系

我也有类似的问题。删除整个
节点\u模块
文件夹并重新安装对我来说很有用:

rm -rf node_modules
npm install

更改目录并指向当前项目文件夹,然后单击“npm安装”。

这将把所有依赖项和模块安装到您的项目文件夹中

npm install --save module_name
例如,如果错误为:

{[错误:找不到模块'/root/.npm/form data']代码:'module\u NOT\u FOUND'}

然后,您可以通过执行命令
npm install--save form data

来解决此问题。当第一次安装由于某种原因(npm的SIGINT)崩溃,或者延迟太长,或者数据损坏时,就会发生这种情况。 再次尝试npm安装不会解决问题


npm第一次检查时出错,因此最好的选择是删除该文件并重新启动npm安装。

我试图发布自己的包,然后将其包含在另一个项目中。我之所以有这个问题,是因为我是如何构建第一个模块的。Im使用ES2015导出创建模块,例如,假设模块看起来像:

export default function(who = 'world'){
    return `Hello ${who}`;
}
使用巴别塔编译后,出版前:

'use strict';

Object.defineProperty(exports, "__esModule", {
    value: true
});

exports.default = function () {
    var who = arguments.length <= 0 || arguments[0] === undefined ? 'world' : arguments[0];


    return 'Hello ' + who;
};
“严格使用”;
Object.defineProperty(导出,“\uu esModule”{
值:true
});
exports.default=函数(){

var who=arguments.length如果使用nvm,请检查绑定到其他库的现有node_模块是否编译为正确的node.js版本

我也遇到了同样的错误。原因如下:我们使用nvm,因为我们在一台服务器上运行两个应用程序,一个需要Node.js 5.6,因为它使用Node gd(目前没有在Node.js 6上运行),另一个需要Node.js 6。Node.js 6是安装

我们还使用pm2工具进行部署

因此,默认设置是当nvm无效时pm2进程启动,因此它使用Node.js(版本6)的apt get安装。因此,主pm2守护进程以Node.js 6开始。如果我在fork模式下运行应用程序,它们将在单独的进程中启动,并且nvm设置生效。当我在群集模式下运行应用程序时,它们将继承非nvm环境

因此,当我尝试切换到集群模式时,应用程序启动失败,因为为5.6编译的绑定失败,并显示此消息


我已经通过在nvm设置生效时重新启动pm2修复了这一问题。此外,还应该修复启动脚本。

从项目中删除
node\u模块
根文件夹(例如:
myApp
)。 转到
myApp
文件夹,然后从终端键入以下命令

>myApp>npm install

它将安装您的项目所需的所有依赖项模块。

我昨天遇到了此错误。我花了一段时间才意识到
包中的
项。json
指向我移动的文件。一旦我更新,错误消失,包工作正常。

专业提示:

这个错误发生在我身上,当时我正在与疲劳和轻微疾病作斗争,因为我键入了
node blah
,而不是
npm blah


收到的错误消息还不足以提醒我自己的愚蠢行为!

首先,是的,我的回答中的一部分肯定有助于解决OP发布的错误。其次,在尝试以下步骤后,我遇到了一些其他错误,因此,我也编写了这些错误的解决方案

(嘘!我不确定我是否成功地帮助解决了上述错误,或者我是否打破了回答的某些规则或格式,但我遇到了上述错误和其他一些错误,我花了很多时间才找到解决这些错误的正确方法。我正在编写完整的解决方案,因为万一其他人也遇到这些错误,那么他就会被拒绝霍普夫酒店
var S3Uploader = require('./S3Uploader.class');
rm -rf node_modules
rm package.json
rm package-lock.json
svn up
npm install
ng build --env=prod
npm install @types/node --save-dev
npm install redux --save
sudo rm -rf /usr/local/{lib/node{,/.npm,_modules},bin,share/man}/{npm*,node*,man1/node*}

https://nodejs.org/en/download/
npm link package_name
npm link webpack
npm link autoprefixer
Error: Cannot find module './disable-browser-cache.js' 
...
"live-server": "https://github.com/tapio/live-server/tarball/master"
rm package-lock.json
rm -r node_modules
npm i