Node,js找不到任何模块

时间:2015-05-19 23:47:16

标签: node.js npm phantomjs

我正在尝试做一个节点骑士的例子,但我发现有问题。我想要遵循的例子是:

FullPrice model = new FullPrice();

当我制作phantomjs example.js时它抛出的错误是:

var Horseman = require('node-horseman');
var horseman = new Horseman();

var numLinks = horseman
  .open('http://www.google.com')
  .type('input[name="q"]', 'github')
  .click("button:contains('Google Search')")
  .waitForNextPage()
  .count("li.g");

console.log("Number of links: " + numLinks);

horseman.close();

我尝试使用npm install http在本地安装http,但在此之后,example / node_modules / http上只有一个package.json,如果我在这个位置使用npm install,它会抛出三个警告:

  • 它也是核心模块的名称
  • 没有说明
  • 没有存储库字段

关于tty,进行本地安装会引发404错误。

我尝试这个解决方案(在路径上包含npm文件夹)Nodejs Cannot find module但是它没有用。

有什么建议吗?

感谢。

修改 NOT SOLUTION

当我从nodejs web尝试这个简单的例子时,我重新安装节点(现在我的版本是节点0.12.3,npm 2.9.1和phantomjs 1.9.8):

Error: Cannot find module 'http'

  phantomjs://bootstrap.js:299 in require
  phantomjs://bootstrap.js:263 in require
  :3
Error: Cannot find module 'tty'

  phantomjs://bootstrap.js:299 in require
  phantomjs://bootstrap.js:263 in require
  :6
TypeError: Object is not a constructor (evaluating 'require('debug')('horseman')')

  :5
TypeError: Object is not a constructor (evaluating 'new Horseman()')

  phant.js:2 in global code

如果我运行“node example.js”它可以工作,但如果我做“phantomjs example.js”,问题仍然存在“无法找到模块http”。

我尝试通过npm(“npm install -g phantomjs”)安装phantomjs并通过在他们的网站上下载zip,解压缩并向PATH添加到解压缩文件夹的路径。

还有一个数据(可能是帮助)我的SO是Windows 8.1。

RE-修改

我正在看我安装node的文件夹,node_modules上唯一的文件夹是npm,是不是?在C:\ Users \ Eloy \ AppData \ Roaming我有两个npm文件夹,其中一个是npm-cache,另一个是npm。最后一个的node_modules不包含http模块,npm-cache有很多模块和http包含......重要吗??

感谢。

1 个答案:

答案 0 :(得分:0)

在第一次EDIT中你的观察结果是+1,即像$ phantomjs这样的脚本无法通过require()访问全局模块,但它可以访问本地模块。不确定这是否是文件记载的phantomjs缺点