2013-03-07 2 views
0

npm express를 사용하여 작은 프로그램을 작성했습니다. . 나는 다음과 같은 오류가 발생하고 프로그램을 실행하고있는 동안 아마 다음과 같이 앱 당신 분명히 requireexpress 모듈 내부Node.js에서 Express를 사용하는 중에 오류가 발생했습니다.

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

+0

npm express C : \ Users \ node \ node_modules> npm express -v 1.2.11 위의 명령을 사용하여 Express 버전을 얻을 수 있습니다. 설치되었으므로 ... – Ramesh

+0

설치가 잘못되었습니다. 에. 이유는 아래 내 대답을 참조하십시오. 그리고 그것이 당신의 질문에 대답하는 경우에 당신이 a) 그것을 upvote 수 있다면 좋을 것입니다, b) 대답으로 표시하십시오. 감사합니다 :-) –

답변

3

(I는 Node.js를 새로운 오전) :

var express = require('express'); 

이 행을 작동 시키려면 응용 프로그램의 로컬 컨텍스트에 Express를 설치해야합니다. 그렇게하려면 응용 프로그램 폴더 내에

$ npm install express 

을 실행하십시오. 이것은 (존재하지 않는 경우) 모든 종속성이있는 폴더 node_modules을 생성합니다.

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

는 물론, 당신이 사용하는 어떤 버전으로 버전 번호를 조정할 수 있습니다

또한, 나는 당신이 그와 같이, dependencies 블록 내부에 package.json에 Express를 넣어하는 것이 좋습니다 것입니다. 모든 종속성에 대해이 작업을 수행하면 간단히 실행하여 즉시 설치할 수 있습니다.

$ npm install 

수정해야합니다.

추신 :이 시나리오는 익스프레스를 전 세계적으로 설치했는지 여부에 관계없이 중요합니다. 전역 설치는 시스템 전체에서 express 부트 스트 래퍼를 사용할 수있는 경우에만 유용합니다. require 함수는 항상 로컬 응용 프로그램 컨텍스트 내에서만 검색합니다.

+0

+1을 package.json으로 추천하면 heroku 또는 nodejitsu와 같은 paas에 배포하기로 결정한 경우 OP 수명이 더 길어집니다. – booyaa

+0

고마워요,하지만 이뿐 만 아니라, 소스 제어에서 프로젝트를 체크 아웃하는 동료이기도합니다 (그리고 당신은'node_modules' 폴더를 체크하고 싶지 않습니다). –

+0

Golo Roden에게 감사드립니다 !!! 지금은 괜찮습니다. – Ramesh

관련 문제