2013-11-24 77 views
1

我想在窗口(8)安裝socket.io包安裝nodenmp錯誤有成功安裝後socket.io

但安裝socket.io以同樣的方式(npm install socket.io)我收到以下錯誤。 http://pastebin.com/EykjZ85X

Generating code
Finished generating code
validation.vcxproj -> c:\~\node_modules\socket.io\node_modules\socket.io-client\node_modules\ws\build\Release\validation.node
[email protected] node_modules\socket.io
├── [email protected]
├── [email protected]
├── [email protected]
└── [email protected] ([email protected], [email protected], [email protected], [email protected])

我不知道這是否是一個錯誤,但在運行基本測試程序 http://socket.io/#how-to-use 不起作用。它說它找不到套件socket.io

任何想法發生了什麼問題?

回答

1

這對我來說不是一個錯誤,但是它將模塊安裝到一個時髦的位置,所以我只能假設你沒有初始化你的包。

因此,您創建了該例子的目錄,用的package.json(在DIR運行npm init),然後npm i socket.io --save這將創建一個你的榜樣目錄內node_modules目錄初始化它,socket.io安裝它,並會然後將socket.io添加到package.json(簡稱--save部分或-S)。

然後,您應該可以運行該示例。

更多解釋

節點包需要package.json文件在你的包的目錄中。因此,如果您有一個名爲~/example的目錄,則需要在此目錄中創建一個package.json文件,然後才能將模塊安裝到您的包中。 package.json文件會跟蹤您的所有依賴關係,例如,當您安裝socket.io時。要創建一個cd ~/examplenpm init - 請按照說明進行操作。你可以take a look at the docs for npm init和什麼package.json should look like

當你編寫節點代碼時,你將程序包本地安裝在你的包中(或者你喜歡稱之爲項目的目錄)。 npm會將您安裝在node_modules目錄中的模塊的文件放入,因此在我們的示例中,我們希望看到~/example/node_modules,並且在安裝socket.io後,我們希望看到~/example/node_modules/socket.io。您可以使用npm在-g標誌下全局安裝一些軟件包,但僅對全局實用程序執行此操作,或者您明白爲什麼需要執行此操作。

+0

你能解釋一下,或者提供一個鏈接,詳細解釋在「示例目錄」中這個「初始化package.json」是什麼意思? – laggingreflex

+0

我是否需要在我打算在其中創建項目的目錄中安裝socket.io?所以如果我計劃創建兩個獨立的項目,我需要安裝兩次? – laggingreflex

+0

>「奇怪的位置」<我認爲我搞砸了,我把它安裝在我的下載目錄中。我是否需要再次安裝node和npm? – laggingreflex