2012-02-10 63 views
24

注意:對於有這個問題的任何人,我嘗試了所有的建議和所有的研究。最後,我格式化硬盤並重新安裝了窗戶。儘管從一開始就是全新的安裝,但一些windows安裝似乎根本不適用於節點。據我所知,這是唯一的解決方案。node.js和npm在windows 7中沒有網絡訪問64位終極

因此,我已經找到類似的問題: Basic Node.js examples not working on Windows 7這似乎是相同的問題,但沒有解決方案。我也發現在線論壇帖子沒有解決方案,但很多人發佈相同的問題。

Node.exenpm都似乎沒有網絡訪問。 npm install發送獲取請求並從未得到響應。要訪問MongoDB的節點腳本永遠不會發送連接請求。我將這個代碼從我的舊機器複製到我的新機器上。這是我在新機器上放置的第一件東西。舊機器運行Windows 7 64家庭高級版和新的Windows 7 64終極版。我嘗試了所有的兼容模式,以管理員身份運行,禁用Windows防火牆,還沒有殺毒軟件,我卸載/重新安裝,我試過更改版本,即使從舊電腦到新版本的版本相同。我搜索了stackoverflow和互聯網,並找到了其他人的問題,但沒有解決方案。我有一個可以成功運行節點的虛擬盒ubuntu vm,但是我希望能夠在沒有vm的情況下運行它,並且我似乎無法找到任何問題原因。即使兩臺計算機之間的OEM軟件幾乎完全相同,因爲舊版本是Alienware m15x,新版本是m14x。任何幫助表示讚賞。

編輯:

我使用的是目前最新的版本(0.6.10)。 NPM運行安裝並讓它掛後,我用netstat和下得了node.exe以下結果:

[node.exe] 
    TCP 10.20.21.225:49690  ec2-107-20-159-167.compute-1.amazonaws.com:https      ESTABLISHED 
    [node.exe] 
    TCP 10.20.21.225:49691  nuq04s08-in-f31.1e100.net:https TIME_WAIT 
    TCP 10.20.21.225:49692  fa-in-f94.1e100.net:https TIME_WAIT 
    TCP 10.20.21.225:49693  nuq04s08-in-f19.1e100.net:http TIME_WAIT 
    TCP 10.20.21.225:49696  nuq04s08-in-f25.1e100.net:http TIME_WAIT 
    TCP 10.20.21.225:49702  nuq04s08-in-f6.1e100.net:http TIME_WAIT 
    TCP 10.20.21.225:49703  nuq04s08-in-f25.1e100.net:http TIME_WAIT 
    TCP 10.20.21.225:49704  nuq04s08-in-f25.1e100.net:http TIME_WAIT 
    TCP 10.20.21.225:49706  nuq04s08-in-f26.1e100.net:http TIME_WAIT 
    TCP 10.20.21.225:49707  nuq04s08-in-f26.1e100.net:http TIME_WAIT 
    TCP 10.20.21.225:49708  nuq04s08-in-f26.1e100.net:http TIME_WAIT 
    TCP 10.20.21.225:49709  nuq04s08-in-f26.1e100.net:http TIME_WAIT 

現在,當我運行Node.js的網頁示例服務器,我不能在Hello World瀏覽器但連接在netstat的:

[node.exe] 
    TCP 127.0.0.1:1337   Robbie-PC:49805  ESTABLISHED 
    [node.exe] 
    TCP 127.0.0.1:7789   Robbie-PC:49158  ESTABLISHED 

但是當我等待一小會兒它更改爲:

[node.exe] 
    TCP 127.0.0.1:1337   Robbie-PC:49805  CLOSE_WAIT 
    [node.exe] 
    TCP 127.0.0.1:7789   Robbie-PC:49158  ESTABLISHED 

編輯2:

所以我試圖禁用所有其他連接..沒有運氣。然後我試圖在eclipse中使用調試器,甚至eclipse也找不到vm的調試器在端口5858上廣播。它實際上只是沒有連接。所以除非有人終於清除硬盤驅動器和重新安裝Windows之外的任何其他想法,那麼我認爲這臺計算機將作爲DOA迴歸到Alienware。讓希望下一個沒有這個問題。感謝所有在評論中提出建議的人以及所有試圖爲我調查解決方案的人。

+0

什麼版本的Node.js? – 2012-02-10 01:32:03

+1

什麼版本的'node.js'?當您在鏈接問題中運行簡單的小HTTP服務器腳本時會發生什麼? 'netstat'(或者Windows的等價物,如果它不是'netstat')顯示服務器正在監聽嗎?哪些客戶不工作?你可以使用telnet或nc或類似的程序來連接假服務器嗎?它僅對'http'模塊失敗還是對其他預打包的'node.js'服務器失敗? – sarnold 2012-02-10 01:36:02

+0

剛更新了所有這些信息的帖子 – user1084563 2012-02-10 02:14:29

回答

0

使用相同的操作系統我沒有這個問題,但我已經有問題下載一些包(我想節點的MySQL)。爲了解決此問題,我必須從github下載源代碼,將其解壓到node_modules存儲庫中,並將其重命名爲「mysql」。現在

我可以讓var mysql = require('mysql');

+0

這對我來說可以獲得軟件包,但軟件包仍然沒有網絡連接。啓動一個基本的http服務器只使用內部節點軟件包,並應該開箱即用,因此我的問題比這更復雜一點。 – user1084563 2012-03-01 21:43:51

0

甚至嘗試Cygwin的。它從純粹的虛擬Linux退步,並從它在Windows 7上運行。就個人而言,我有Cygwin和Windows 7安裝node.js 64位(不是最終)。

由於寫保護和安全設置,我只需將節點安裝到「程序文件」之外的目錄。仍然需要以管理員身份運行命令控制檯,以確保所有工作都正常。 Cygwin沒有這些問題。

1

如果您在公司網絡後面,可能需要在要設置的節點上進行代理配置。它運行這樣的

npm config set proxy http://proxy.company.com:8080 
npm config set https-proxy http://proxy.company.com:8080 

替換代理公司名稱,無論您的網絡使用。

+0

我不是落後於一個,但感謝您的建議。從頭開始重新安裝操作系統爲我解決了這個問題。 – user1084563 2015-06-01 20:50:16