2012-03-06 198 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上工作。見