我最初有this problem,所以我尝试了
npm install --force
似乎有效,只有一个警告:
npm WARN querystring@0.0.1 package.json: bugs['web'] should probably be bugs['url']
但是当我尝试运行它时,它给了我:
[ec2-user@ip-10-136-14-95 iodocs]$ node ./app.js
The "sys" module is now called "util". It should have a similar interface.
node.js:201
throw e; // process.nextTick error, or 'error' event on first tick
^
Error: Cannot find module 'hashlib'
at Function._resolveFilename (module.js:332:11)
at Function._load (module.js:279:25)
at Module.require (module.js:354:17)
at require (module.js:370:17)
at Object.<anonymous> (/home/ec2-user/iodocs/app.js:37:19)
at Module._compile (module.js:441:26)
at Object..js (module.js:459:10)
at Module.load (module.js:348:31)
at Function._load (module.js:308:12)
at Array.0 (module.js:479:10)
我不知道该怎么办,请向我说明一下。
顺便说一句,我正在尝试在Linux 2.6.35.14-97.44.amzn1.x86_64 EC2实例上安装iodocs。
================================================== =========================
我也尝试将其安装在Heroku上,但是遇到了同样的问题:
-----> Heroku receiving push
-----> Node.js app detected
-----> Resolving engine versions
Using Node.js version: 0.6.12
Using npm version: 1.0.106
-----> Fetching Node.js binaries
-----> Vendoring node into slug
-----> Installing dependencies with npm
npm WARN querystring@0.0.1 package.json: bugs['web'] should probably be bugs['url']
npm ERR! Unsupported
npm ERR! Not compatible with your version of node/npm: querystring@0.0.1
npm ERR! Required: {"node":"0.4.x","teleport":">=0.2.0"}
npm ERR! Actual: {"npm":"1.0.106","node":"0.6.12"}
npm ERR!
npm ERR! System Linux 2.6.32-342-ec2
npm ERR! command "/tmp/node-node-kXeE/bin/node" "/tmp/node-npm-1IT8/cli.js" "install"
npm ERR! cwd /tmp/build_3mjp7psqka071
npm ERR! node -v v0.6.12
npm ERR! npm -v 1.0.106
npm ERR! code ENOTSUP
> hashlib@1.0.1 preinstall /tmp/build_3mjp7psqka071/node_modules/hashlib
> node-waf clean || true; node-waf configure build
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /tmp/build_3mjp7psqka071/npm-debug.log
npm not ok
Nothing to clean (project not configured)
Checking for program g++ or c++ : /usr/bin/g++
Checking for program cpp : /usr/bin/cpp
Checking for program ar : /usr/bin/ar
Checking for program ranlib : /usr/bin/ranlib
Checking for g++ : ok
Checking for program gcc or cc : /usr/bin/gcc
Checking for gcc : ok
Checking for node path : not found
Checking for node prefix : ok /tmp/node-node-kXeE
'configure' finished successfully (0.476s)
Waf: Entering directory `/tmp/build_3mjp7psqka071/node_modules/hashlib/build'
[1/6] cc: libhash/md4c.c -> build/Release/libhash/md4c_1.o
[2/6] cc: libhash/md5c.c -> build/Release/libhash/md5c_1.o
[3/6] cc: libhash/sha0c.c -> build/Release/libhash/sha0c_1.o
[4/6] cxx: hashlib.cc -> build/Release/hashlib_2.o
../hashlib.cc:14:16: error: ev.h: No such file or directory
../hashlib.cc:15:17: error: eio.h: No such file or directory
../hashlib.cc:311: error: 'eio_req' was not declared in this scope
../hashlib.cc:311: error: 'req' was not declared in this scope
../hashlib.cc:312: error: expected ',' or ';' before '{' token
Waf: Leaving directory `/tmp/build_3mjp7psqka071/node_modules/hashlib/build'
Build failed: -> task failed (err #1):
{task: cxx hashlib.cc -> hashlib_2.o}
! Failed to install dependencies with npm
! Heroku push rejected, failed to compile Node.js app
最佳答案
我碰到了同样的问题。
我认为有一个“拉取请求”可以解决此问题:
https://github.com/mashery/iodocs/pull/14
我将实现它,如果它起作用,将报告。
编辑:
我能够走得更远。这是您需要做的一些事情:
package.json中的
"express": "2.5.8"
(它们的版本为2.4.8。与node.js v1.0.0兼容npm install
现在应该可以工作了。但是,如果您运行
node ./app.js
,则会出现此错误:编辑#2:
弄清楚了!您必须实际运行
redis-server
(DUH)。所以我做了以下事情:
src/redis-server
运行服务器巴姆,现在运行
node ./app.js
,它可以工作了!