2013-09-01 224 views
2

我是NodeJS的新手。我試圖在Windows 8上使用npm。在窗口上安裝npm模塊時「找不到模塊」

我已經使用chocolatey,cinst nodejs.install(版本0.10.17)安裝。我以管理員身份安裝(並希望以普通用戶身份運行npm)。

節點本身似乎工作,我可以使用REPL運行簡單的程序。

如果我嘗試使用NPM安裝的東西,我得到cannot find module

> node npm install express 

module.js:340 
    throw err; 
     ^
Error: Cannot find module 'C:\Users\Klas\Documents\My Dropbox\mina egna\tech\node\webserver\npm' 
    at Function.Module._resolveFilename (module.js:338:15) 
    at Function.Module._load (module.js:280:25) 
    at Function.Module.runMain (module.js:497:10) 
    at startup (node.js:119:16) 
    at node.js:901:3 

我已經閱讀Nodejs cannot find installed module on Windows?答案但不幸的是,目前還不清楚到我什麼,我必須做的。

我已經嘗試設置NODE_PATH

  1. 在試圖跟隨this answer,我試圖將其設置爲C:\Users\Klas\AppData\Roaming\npm\node_modules(但我不得不同時創建npm和子文件夾node_modules自己)
  2. 我曾嘗試創建一個文件夾c:\node\node_module(根據this advice,即使安裝甚至沒有創建c:\node文件夾)並將其設置爲該文件夾。
  3. 我試圖將其設置爲C:\Program Files\nodejs\node_modules\npm\node_modules(這並安裝後存在)
  4. 我也嘗試創建下面的當前工作目錄中node_modules文件夾。據我所知,這是本地npm將被安裝在哪裏?

這些都沒有幫助。所以在我看來,設置NODE_PATH不是解決方案嗎?

使用-g標誌沒有區別(我不想使用它)。

我得到與普通用戶和管理員相同的錯誤(我寧願成爲普通用戶)。

我得到同樣的錯誤無論身在何處我執行命令,當我這樣做是在C:\Program Files\nodejs,在那裏我得到

basedir=`dirname "$0"` 
    ^
SyntaxError: Unexpected token ILLEGAL 
    at Module._compile (module.js:439:25) 

回答

3

不使用的窗口,除了,但我敢肯定它只是npm install express在Windows太。

+1

Doh!如果我在REPL中執行'npm install express',我會得到'npm應該在節點repl之外運行的消息,在你的普通shell中',我將其解釋爲'npm'是'node'的子命令,這就是爲什麼我在'cmd.exe'中運行'npm install express'節點。令人尷尬的新手錯誤。 –

+0

那些其他的文章讓我想起循環,因爲他們談論了很多關於'NODE_PATH'的內容。據我所見,如果你滿足於本地安裝(推薦),你根本不需要設置NODE_PATH。 –

+0

那麼也有npm模塊只是日常使用的命令行工具。簡單的HttpServer)。對於那些通過命令行可用的用戶,您需要在NODE_PATH中使用它們。 –