2012-03-06 53 views
0

摇篮我跑npm install -g cradle并获得输出:麻烦与Windows

npm http GET https://registry.npmjs.org/cradle 
.... lots of more GET's ..... 
[email protected] C:\Users\...\npm\node_modules\cradle 
├── [email protected] 
├── [email protected] 
└── [email protected] 

一切似乎很好地工作。

但是当我跑我的server.js

var fs = require("fs"); 
var express = require("express"); 
var site = express.createServer(); 
var io = require("socket.io").listen(site); 
var cradle = require('cradle'); 

io.set('log level', 1); 

// Determine which dist directory to use 
var dir = process.argv.length > 2 && "./dist/" + process.argv[2]; 

// Use custom JS folder based off debug or release 
dir && site.use("/assets/js", express.static(dir + "/js")); 
dir && site.use("/assets/css", express.static(dir + "/css")); 

// Serve static files 
site.use("/app", express.static("./app")); 
site.use("/assets", express.static("./assets")); 
site.use("/dist", express.static("./dist")); 

// Serve favicon.ico 
site.use(express.favicon("./favicon.ico")); 

// Ensure all routes go home, client side app.. 
site.get("*", function (req, res) { 
    fs.createReadStream("./index.html").pipe(res); 
}); 

// Communication with clients 
io.sockets.on('connection', function (socket) { 
    console.log('user connected'); 

    socket.on('testCommunication', function (message, fn) { 
     fn(message + ' world'); 
    }); 
}); 

site.listen(8000); 

,我得到的输出:

info - socket.io started 

node.js:201 
     throw e; // process.nextTick error, or 'error' event on first tick 
      ^
    Error: Cannot find module 'cradle' 
    at Function._resolveFilename (module.js:334:11) 
    at Function._load (module.js:279:25) 
    at Module.require (module.js:357:17) 
    at require (module.js:368:17) 
    at Object.<anonymous> (C:\node\opensthlm\server.js:6:14) 
    at Module._compile (module.js:432:26) 
    at Object..js (module.js:450:10) 
    at Module.load (module.js:351:31) 
    at Function._load (module.js:310:12) 
    at Array.0 (module.js:470:10) 

模块驻留在同一目录socket.io,快递等我有没有问题装载。 我一直在盯着这个错误一个小时。我以前在mac上使用摇篮,它的功能就像一个魅力,现在我在窗户上,可能有什么关系呢?否则我很无能。有任何想法吗?

+0

不是说精通节点,并产生了奇怪的问题似乎与需要自己。这可能看起来很小,但与摇篮要求的单一“双”差异不是问题,是吗? – 2012-03-06 17:02:55

+0

我已更新我的文章以包含完整的server.js 我并不真的在做couchDB-请求,据我所知,服务器无法找到该模块,我在这个假设中错了吗? – 2012-03-06 19:08:26

+0

确实记得标记答案,如果它帮助你。 – 2012-05-14 13:57:50

回答

1

我也在Windows上运行节点。我复制你的代码,然后我发布了以下命令。

  • 故宫安装快车
  • NPM安装socket.io
  • NPM安装支架
  • 节点server.js

一切看上去一切正常。 摇篮安装后我

npm http GET http://registry.npmjs.org/cradle 
npm http 200 http://registry.npmjs.org/cradle 
npm http GET http://registry.npmjs.org/follow 
npm http GET http://registry.npmjs.org/vargs/0.1.0 
npm http GET http://registry.npmjs.org/request 
npm http 200 http://registry.npmjs.org/vargs/0.1.0 
npm http GET http://registry.npmjs.org/vargs/-/vargs-0.1.0.tgz 
npm http 200 http://registry.npmjs.org/follow 
npm http 200 http://registry.npmjs.org/vargs/-/vargs-0.1.0.tgz 
npm http 200 http://registry.npmjs.org/request 
npm http GET http://registry.npmjs.org/request 
npm http 200 http://registry.npmjs.org/request 
[email protected] ./node_modules/cradle 
├── [email protected] 
├── [email protected] 
└── [email protected] 

注意,我没有使用的npm1.x

全球安装选项克里斯托夫

附:根本原因似乎是npm链接不能在Windows上工作。见