문제

글로벌 모듈을 사용하려고 할 때 오류가 발생합니다. exemple :

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:\BitNami\wappstack\...\test\app.js)
    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)
.

i 익스프레스 명령을 설치했습니다.

npm install -g express
.

내 app.js :

var express = require('express');
.

Windows PowerShell 또는 node.js 명령 프롬프트 Windows를 사용하여 실행 Windows :

node app.js
.

실제로 무엇이 잘못되었는지 알지 못하고, Windows의 환경 변수에 대해 뭔가를 읽을 수 있습니까?

해결 / 업데이트

문제는 다음과 같습니다. Windows 환경 변수가 NPM 폴더에 대해 구성되지 않았습니다. NPM 폴더를 검색하고 환경 변수에 경로를 추가하십시오.

도움이 되었습니까?

해결책

Express 로컬로 설치해야합니다.

npm install express
.

그런 다음 작업대로 필요합니다 :

var express = require('express')
.

다른 팁

Windows 7 / X64에서 동일한 오류가 발생했으며 환경 변수에 다음과 같은 추가 문제가 해결되었습니다.

NODE_PATH=C:\Users\[USERNAME]\AppData\Roaming\npm\node_modules
.

* [사용자 이름]을 실제 시스템 사용자 이름으로 바꾸기

Linux에서 일하고 있지만, Express가 필요할 때, 내가 설치된 곳의 상대 경로로 이루어지고 잘 작동합니다.

var express = require('./public/node_modules/express');
.

똑같은 일이 Windows 경로에서도 작동 할 것입니다.더 명시적이고 절대 경로를 선언하고 싶다면 핵 가지 옵션이 될 것입니다.

명시 적 경로를 사용한 후에도 여전히 문제가있는 경우 문제가 무엇인지 모르겠습니다....에...에

다른 옵션은 NPM 설치를 실행하는 것입니다 --save express

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top