2012-07-24 145 views
4

Cmd錯誤:「sh」不被識別爲內部或外部命令,可操作程序或批處理文件。Node.js在Windows上安裝模塊

C:\Users\user>npm install -g node-curl 
    npm http GET https://registry.npmjs.org/node-curl 
    npm http 304 https://registry.npmjs.org/node-curl 

    > [email protected] install C:\Users\user\AppData\Roaming\npm\node_modules\node-cu 
    rl 
    > sh src/generate_curl_options_list.sh && node-waf configure build || true 

    "sh" is not recognized as an internal or external command, operable program or batch file. 
    "true" is not recognized as an internal or external command, operable program or batch file. 

回答

-4

那麼,使用節點curl在Windows上,沒有捲曲,是相當愚蠢的。

不要嘗試。

+0

好的。在http.request上如何輕鬆使用cookie? – newpdv 2012-07-24 13:14:48

+4

是公平的,node-curl可以是curl命令行工具的node.js實現,它從包裝curl的本地實現的名稱並不明顯。 – rdrey 2012-07-24 13:36:37

5

要擴大弗洛裏安的答案:你在Windows上,它沒有cURLsh。您正在嘗試安裝依賴於您的操作系統的模塊,該模塊提供libcurl庫和Windows中未附帶的sh

你有一些選擇:

  1. 自己寫的唯一節點的實現,行爲像捲曲。

    看到SO上的這個問題:Curl equivalent in nodejs? 它詳細介紹瞭如何使用內置的http模塊,如捲曲。

  2. 或在窗口上安裝libcurlsh,工具如cygwin。我沒有嘗試過,並且你正在嘗試安裝的npm模塊可能仍然依賴於cygwin沒有解決的其他unix工具。

  3. 或者尋找http://search.npmjs.org/中的其他東西,表現得像捲曲。嘗試httpsynccurly

我建議選擇1,它會教你基本的HTTP原則。節點中的本地模塊已經提供了您可能需要蜷縮的所有內容。 :)

+0

Curl的主頁有Win32和Win64的通用二進制文件。通用sh克隆廣泛可用。 – ebohlman 2012-07-24 14:25:02

+0

我不知道這些是否有幫助...問題是@newpdv想要安裝節點模塊並且失敗,或者他想要使用節點中的cURL。僅使用Javascript的實現(使用內置模塊)可能比在子進程中調用curl更好。 – rdrey 2012-07-25 07:30:36