2013-03-07 52 views
0

我用npm express編寫了一個小程序。 。當我運行程序我收到錯誤,如下面的(我是新來的Node.js)使用Express與Node.js時出錯

module.js:340 
    throw err; 
     ^
Error: Cannot find module 'express' 
    at Function.Module._resolveFilename (module.js:338:15) 
    at Function.Module._load (module.js:280:25) 
    at Module.require (module.js:362:17) 
    at require (module.js:378:17) 
    at Object.<anonymous> (C:\Users\node\node_modules\app.js:1:77) 
    at Module._compile (module.js:449:26) 
    at Object.Module._extensions..js (module.js:467:10) 
    at Module.load (module.js:356:32) 
    at Function.Module._load (module.js:312:12) 
    at Module.runMain (module.js:492:10) 
+0

好像你還沒有在你的本地'node_modules'文件夾中安裝'express'(並且全局都不?)...你可能會檢查它是否在你運行腳本的目錄內安裝了'npm list'。 – ConcurrentHashMap 2013-03-07 08:32:47

+0

我安裝了npm express C:\ Users \ node \ node_modules> npm express -v 1.2.11我可以使用上面的命令獲取express的版本..所以它被安裝... – Ramesh 2013-03-07 08:35:47

+0

這是安裝它的錯誤地方至。查看我的答案,原因如下。並且如果它回答你的問題,如果你能a)支持它,並且b)將它標記爲答案,那將是非常好的。謝謝:-) – 2013-03-07 08:42:15

回答

3

內,您的應用程序,你明明requireexpress模塊,大概是這個樣子:

var express = require('express'); 

爲了使這一行起作用,您需要將Express安裝到應用程序的本地環境中。要這樣做運行

$ npm install express 

在您的應用程序的文件夾。這將(如果它還不存在)創建一個文件夾node_modules所有的依賴關係。

另外,我建議你把快遞到您package.jsondependencies塊內,如:

"dependencies": { 
    "express": "3.1.0" 
} 

當然,你可以調整的版本號無論您使用的版本。一旦你完成了你所有的依賴關係,你可以通過簡單的運行立即安裝它們。

$ npm install 

這應該解決它。

PS:無論您是否在全局安裝Express,本場景都無關緊要。全局安裝僅適用於在系統範圍內使用express引導程序。 require函數始終只在本地應用程序上下文中進行搜索。

+0

+1推薦package.json,如果他決定部署到像heroku或nodejitsu這樣的paas,它會讓OP的生活更輕鬆。 – booyaa 2013-03-07 08:46:23

+0

謝謝,但不僅如此,它也是同事們從源代碼控制中檢出項目(並且您絕對不想檢入'node_modules'文件夾)。 – 2013-03-07 09:08:17

+0

感謝Golo Roden !!!現在工作正常 – Ramesh 2013-03-07 12:43:11

相關問題