3

当我在 nodejs 模块中安装业力时,在我的日志中写道:

npm http 304 https registry.npmjs.org/proto-list

> phantomjs@1.9.1-5 install C:\Users\<user>\AppData\Roaming\npm\node_modules\karma-phantomjs-launcher\node_modules\phantomjs
> node install.js

Downloading http://phantomjs.googlecode.com/files/phantomjs-1.9.1-windows.zip
Saving to \tmp\phantomjs\phantomjs-1.9.1-windows.zip
Receiving...

C:\Users\<user>\AppData\Roaming\npm\node_modules\karma-phantomjs-launcher\node_modules\phantomjs\install.js:215
  deferred.reject('Error with http request: ' + util.inspect(response.head
                                                ^
ReferenceError: util is not defined
at ClientRequest.<anonymous> (C:\Users\<user>\AppData\Roaming\npm\node_modules\karma-phantomjs-launcher\node_modules\phantomjs\install.js:215:53)
at ClientRequest.g (events.js:175:14)
at ClientRequest.EventEmitter.emit (events.js:95:17)
at HTTPParser.parserOnIncomingClient [as onIncoming] (http.js:1669:21)
at HTTPParser.parserOnHeadersComplete [as onHeadersComplete] (http.js:120:23)
at Socket.socketOnData [as ondata] (http.js:1564:20)
at TCP.onread (net.js:525:27)
npm ERR! weird error 8
npm ERR! not ok code 0

d:\nodejs>npm install util

npm http 304 https registry.npmjs.org/events.node
util@0.4.9 node_modules\util
└── events.node@0.4.9

模块工具已经安装。为什么没有安装业力?

4

3 回答 3

2

我有一个类似的错误(虽然在 Linux 上)。事情是这样的:

PhantomJS 带有它自己的“安装程序” install.js,它将预编译的 PhantomJS 二进制文件提取到一个临时目录并将它们解压缩到您node_modules目录中的某个位置。

我不得不导出TMPDIR变量,因为/tmp它不可写。在您的情况下,看起来\tmp后备并没有削减它(毕竟是 Windows)。尝试设置TMPDIR为指向现有目录并npm install再次运行。

祝你好运!

PS:任何人都可以通过有关如何在 Windows 上设置环境变量的说明来扩展此答案吗?

于 2013-08-16T10:59:30.183 回答
1

我下载了 fantomjs zip,并将其替换为TMPDIR. 之后,再次开始安装业力。这发生了。但是当我从教程脚本启动 nodejs 时,我出错了......但是另一个故事......

于 2013-08-19T08:30:50.040 回答
0

这对我有用-

phantomJSZip 被下载(至少它尝试)在

C:\tmp\phantomjs

但是文件大小是0kb。所以我从 PhantomJS 网站下载了一个并复制到那个位置。

所有功劳都归功于我面前的两个答案。我刚刚搜索了 zip 文件。

于 2013-08-22T00:55:07.710 回答