NPM require('tar') 找不到模块错误。

3
我使用npm安装了tarfstream,然后运行了一些命令。输出结果为:

您的环境已经设置好,可以使用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)

我该怎么办?
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标志全局安装这些模块。

我不知道,我甚至尝试了-g标志,但似乎没有起作用。然后我重新启动了一下,它就好了。我不确定,可能是因为我半睡半醒的缘故。 - Ashish Negi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接