7

我在一个我总是在本地测试的应用程序中实现了一个 npm 模块(称为扳手)。这总是没有问题的。然后我试图在我的服务器上安装扳手。

npm install wrench确实按预期工作,但一旦涉及require("wrench"),我收到以下错误:

> require("wrench")
Error: Cannot find module 'wrench'
    at Function._resolveFilename (module.js:320:11)
    at Function._load (module.js:266:25)
    at require (module.js:348:19)
    at [object Context]:1:1
    at Interface.<anonymous> (repl.js:171:22)
    at Interface.emit (events.js:64:17)
    at Interface._onLine (readline.js:153:10)
    at Interface._line (readline.js:408:8)
    at Interface._ttyWrite (readline.js:585:14)
    at ReadStream.<anonymous> (readline.js:73:12)

如果我跑npm ls我可以看到

wrench@0.1.0

我在这里缺少什么吗?

谢谢,

埃利亚斯

4

1 回答 1

7

我相信npm ls显示了 npm 上所有可用的包。要查看已安装的软件包,我认为您应该发出npm ls installed.

我有:

alfred@alfred-laptop:~$ node -v
v0.4.1

alfred@alfred-laptop:~$ npm --version
0.2.17

我发出:

alfred@alfred-laptop:~$ npm install wrench
npm info it worked if it ends with ok
npm info using npm@0.2.17
npm info using node@v0.4.1
npm info fetch http://registry.npmjs.org/wrench/-/wrench-0.1.0.tgz
npm info calculating sha1 /home/alfred/local/lib/node/.npm/nvm/0.0.6/package/v0.4.1/lib/node/.npm/.cache/wrench/0.1.0/package.tgz
npm info shasum 07440ad670068e0e81c8126c4641d1ca73b83557
npm info preinstall wrench@0.1.0
npm info install wrench@0.1.0
npm info postinstall wrench@0.1.0
npm info preactivate wrench@0.1.0
npm info activate wrench@0.1.0
npm info postactivate wrench@0.1.0
npm info build Success: wrench@0.1.0
npm ok

alfred@alfred-laptop:~$ node
> require('wrench')
{ rmdirSyncRecursive: [Function],
  copyDirSyncRecursive: [Function],
  chmodSyncRecursive: [Function] }
>

我的建议是使用最新最好的 npm 和 node.js,然后再试一次。

于 2011-04-08T21:58:02.680 回答