从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)

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


当前回答

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

export default function(who = 'world'){
    return `Hello ${who}`;
}

与Babel一起编译后,发布前:

'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;
};

因此,在另一个项目(无ES2015)中安装npm模块名称后,我不得不做

var-hello=require('module-name').default;

真的把包裹进口了。

希望这有帮助!

其他回答

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

export default function(who = 'world'){
    return `Hello ${who}`;
}

与Babel一起编译后,发布前:

'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;
};

因此,在另一个项目(无ES2015)中安装npm模块名称后,我不得不做

var-hello=require('module-name').default;

真的把包裹进口了。

希望这有帮助!

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

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

删除node/npm,然后重新安装稳定的(不是最新的)版本对我很有用。

sudo rm -rf /usr/local/{lib/node{,/.npm,_modules},bin,share/man}/{npm*,node*,man1/node*}

https://nodejs.org/en/download/

请安装新的CLI v3(npm install-gionic@latest).

如果此问题在CLI v3中仍然存在。非常感谢。

检查环境变量NODE_PATH是否设置正确并指向NODE_modules路径。nodejs使用此变量搜索库