3

我安装tarfstream使用了 npm,之后我运行了一些命令。输出是:

您的环境已设置为使用 Node.js 0.10.18 (ia32) 和 npm。

C:\Users\abc>npm --version
1.3.8

C:\Users\abc>npm list
C:\Users\abc
├── chrome-rdebug@0.0.9
├─┬ fstream@0.1.24
│ ├── graceful-fs@2.0.1
│ ├── inherits@2.0.1
│ ├── mkdirp@0.3.5
│ └── rimraf@2.2.2
├── mime@1.2.11
├── q@0.9.7
├─┬ request@2.27.0
│ ├── aws-sign@0.3.0
│ ├── cookie-jar@0.3.0
│ ├── forever-agent@0.5.0
│ ├─┬ form-data@0.1.1
│ │ ├── async@0.2.9
│ │ └─┬ combined-stream@0.0.4
│ │   └── delayed-stream@0.0.5
│ ├─┬ hawk@1.0.0
│ │ ├── boom@0.4.2
│ │ ├── cryptiles@0.2.2
│ │ ├── hoek@0.9.1
│ │ └── sntp@0.2.4
│ ├─┬ http-signature@0.10.0
│ │ ├── asn1@0.1.11
│ │ ├── assert-plus@0.1.2
│ │ └── ctype@0.5.2
│ ├── json-stringify-safe@5.0.0
│ ├── node-uuid@1.4.1
│ ├── oauth-sign@0.3.0
│ ├── qs@0.6.5
│ └── tunnel-agent@0.3.0
├─┬ tar@0.1.18
│ ├── block-stream@0.0.7
│ └── inherits@2.0.1
└─┬ ws@0.4.30
  ├── commander@0.6.1
  ├── nan@0.3.2
  ├── options@0.0.5
  └── tinycolor@0.0.1


C:\Users\abc>node --version
v0.10.18

现在在运行 node.js 时require('tar')我得到

> require('fstream')
Error: Cannot find module 'fstream'
    at Function.Module._resolveFilename (module.js:338:15)
    at Function.Module._load (module.js:280:25)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at repl:1:2
    at REPLServer.self.eval (repl.js:110:21)
    at Interface.<anonymous> (repl.js:239:12)
    at Interface.EventEmitter.emit (events.js:95:17)
    at Interface._onLine (readline.js:202:10)
    at Interface._line (readline.js:531:8)
> require('tar')
Error: Cannot find module 'tar'
    at Function.Module._resolveFilename (module.js:338:15)
    at Function.Module._load (module.js:280:25)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at repl:1:2
    at REPLServer.self.eval (repl.js:110:21)
    at Interface.<anonymous> (repl.js:239:12)
    at Interface.EventEmitter.emit (events.js:95:17)
    at Interface._onLine (readline.js:202:10)
    at Interface._line (readline.js:531:8)

我该怎么办 ?

4

1 回答 1

3

该错误意味着您正在尝试将require()这些模块放在一个永远不会解析为您显示的目录的目录中,即C:\Users\abc\node_modules.

如果您在诸如 的目录中C:\Users\user2,则模块将永远无法解析,因为将以这种方式检查模块:

C:\Users\user2\node_modules
C:\Users\node_modules
C:\node_modules

要解决此问题,请移至与文件夹共享父目录的目录的子目录,或使用标志node_modules全局安装模块。-g

于 2013-10-17T13:15:45.173 回答