NodeJS没有看到已安装的软件包?

时间:2016-07-05 22:34:13

标签: node.js

所以我正在使用DeathByCaptcha node.js模块

https://www.npmjs.com/package/deathbycaptcha

我安装了它,现在它要求我安装http模块

Error: Cannot find module 'http'

所以我使用sudo npm install http

安装了它

然后我运行npm -g ls并查看已安装的

/usr/local/lib
├── http@0.0.0
└─┬ npm@2.15.8
  ├── abbrev@1.0.9
  ├── ansi@0.3.1
  ├── ansi-regex@2.0.0
  ├── ansicolors@0.3.2
  ├── ansistyles@0.1.3
  ├── archy@1.0.0

然而,我再次运行我的脚本,它说没有安装模块http。

有什么想法吗? 谢谢!

1 个答案:

答案 0 :(得分:0)

有几件事:

  • deathbycaptcha三年前上次发布。它可能是放弃软件,可能无法正常工作。 (或许它会。只是说......三年是很长一段时间,在Node.js和其他地方发生了很多变化。)

  • http是一个内置模块,你不需要安装任何东西来使用它。

  • 请勿将-g用于您希望require()的模块。这适用于作为命令行工具的模块(如npm本身)。

这是一个终端会话,显示了安装deathbycaptcha并测试可以使用require()导入的步骤。

$ node -v
v6.2.2
$ npm -v
3.10.3
$ npm install deathbycaptcha
/Users/trott/projects/deathbycaptchatest
└─┬ deathbycaptcha@0.0.3 
  └─┬ request@2.21.0 
    ├── aws-sign@0.3.0 
    ├── cookie-jar@0.3.0 
    ├── forever-agent@0.5.2 
    ├─┬ form-data@0.0.8 
    │ ├── async@0.2.10 
    │ └─┬ combined-stream@0.0.7 
    │   └── delayed-stream@0.0.5 
    ├─┬ hawk@0.13.1 
    │ ├─┬ boom@0.4.2 
    │ │ └── hoek@0.9.1 
    │ ├── cryptiles@0.2.2 
    │ ├── hoek@0.8.5 
    │ └─┬ sntp@0.2.4 
    │   └── hoek@0.9.1 
    ├─┬ http-signature@0.9.11 
    │ ├── asn1@0.1.11 
    │ ├── assert-plus@0.1.2 
    │ └── ctype@0.5.2 
    ├── json-stringify-safe@4.0.0 
    ├── mime@1.2.11 
    ├── node-uuid@1.4.7 
    ├── oauth-sign@0.3.0 
    ├── qs@0.6.6 
    └── tunnel-agent@0.3.0 

npm WARN test No description
npm WARN test No repository field.
npm WARN test No README data
npm WARN test No license field.
$ 

然后:

$ node
> require('deathbycaptcha');
[Function: DeathByCaptcha]
> LIB-0S8DV17-LT in ~/test
$