Node.js 오류: 모듈 익스프레스를 찾을 수 없습니다.
첫 번째 node.js 앱을 작성했지만 익스프레스 라이브러리를 찾을 수 없습니다.
C:\ChatServer\Server>node server.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:364:17)
at require (module.js:380:17)
at Object.<anonymous> (C:\ChatServer\Server\server.js:6:9)
at Object.<anonymous> (C:\ChatServer\Server\server.js:25:4)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
그러나 express가 설치되어 있습니다(포함)-g
vmdk):
C:\ChatServer\Server>npm install -g express
npm http GET https://registry.npmjs.org/express
npm http 304 https://registry.npmjs.org/express
npm http GET https://registry.npmjs.org/connect/2.7.11
npm http GET https://registry.npmjs.org/commander/0.6.1
npm http GET https://registry.npmjs.org/range-parser/0.0.4
npm http GET https://registry.npmjs.org/mkdirp/0.3.4
npm http GET https://registry.npmjs.org/cookie/0.1.0
npm http GET https://registry.npmjs.org/buffer-crc32/0.2.1
npm http GET https://registry.npmjs.org/fresh/0.1.0
npm http GET https://registry.npmjs.org/methods/0.0.1
npm http GET https://registry.npmjs.org/send/0.1.0
npm http GET https://registry.npmjs.org/cookie-signature/1.0.1
npm http GET https://registry.npmjs.org/debug
npm http 304 https://registry.npmjs.org/mkdirp/0.3.4
npm http 304 https://registry.npmjs.org/range-parser/0.0.4
npm http 304 https://registry.npmjs.org/cookie/0.1.0
npm http 304 https://registry.npmjs.org/connect/2.7.11
npm http 304 https://registry.npmjs.org/commander/0.6.1
npm WARN package.json range-parser@0.0.4 No repository field.
npm http 304 https://registry.npmjs.org/buffer-crc32/0.2.1
npm http 304 https://registry.npmjs.org/fresh/0.1.0
npm http 304 https://registry.npmjs.org/methods/0.0.1
npm http 304 https://registry.npmjs.org/send/0.1.0
npm http 304 https://registry.npmjs.org/cookie-signature/1.0.1
npm WARN package.json methods@0.0.1 No repository field.
npm WARN package.json methods@0.0.1 No readme data.
npm WARN package.json fresh@0.1.0 No repository field.
npm WARN package.json send@0.1.0 No repository field.
npm WARN package.json cookie-signature@1.0.1 No repository field.
npm http 304 https://registry.npmjs.org/debug
npm http GET https://registry.npmjs.org/mime/1.2.6
npm http GET https://registry.npmjs.org/qs/0.6.5
npm http GET https://registry.npmjs.org/send/0.1.1
npm http GET https://registry.npmjs.org/formidable/1.0.14
npm http GET https://registry.npmjs.org/cookie/0.0.5
npm http GET https://registry.npmjs.org/bytes/0.2.0
npm http GET https://registry.npmjs.org/pause/0.0.1
npm http 304 https://registry.npmjs.org/mime/1.2.6
npm http 304 https://registry.npmjs.org/bytes/0.2.0
npm WARN package.json bytes@0.2.0 No repository field.
npm http 304 https://registry.npmjs.org/pause/0.0.1
npm WARN package.json pause@0.0.1 No repository field.
npm http 304 https://registry.npmjs.org/formidable/1.0.14
npm http 304 https://registry.npmjs.org/qs/0.6.5
npm http 304 https://registry.npmjs.org/send/0.1.1
npm http 304 https://registry.npmjs.org/cookie/0.0.5
npm http GET https://registry.npmjs.org/mime
npm http 304 https://registry.npmjs.org/mime
C:\Users\Dmitry\AppData\Roaming\npm\express -> C:\Users\Dmitry\AppData\Roaming\npm\node_modules\express\bin\express
npm WARN package.json policyfile@0.0.4 'repositories' (plural) Not supported.
npm WARN package.json Please pick one as the 'repository' field
npm WARN package.json assert-plus@0.1.2 No repository field.
npm WARN package.json ctype@0.5.2 No repository field.
express@3.2.6 C:\Users\Dmitry\AppData\Roaming\npm\node_modules\express
├── methods@0.0.1
├── fresh@0.1.0
├── range-parser@0.0.4
├── cookie-signature@1.0.1
├── buffer-crc32@0.2.1
├── cookie@0.1.0
├── debug@0.7.2
├── commander@0.6.1
├── mkdirp@0.3.4
├── send@0.1.0 (mime@1.2.6)
└── connect@2.7.11 (pause@0.0.1, qs@0.6.5, bytes@0.2.0, cookie@0.0.5, formidable@1.0.14, send@0.1.1)
일부 정보:
C:\ChatServer\Server>npm --version
1.2.24
C:\ChatServer\Server>node --version
v0.10.9
C:\ChatServer\Server>npm --version
1.2.24
C:\ChatServer\Server>npm ls -g installed express
npm WARN package.json cookie-signature@1.0.1 No repository field.
npm WARN package.json fresh@0.1.0 No repository field.
npm WARN package.json methods@0.0.1 No repository field.
npm WARN package.json range-parser@0.0.4 No repository field.
npm WARN package.json send@0.1.0 No repository field.
npm WARN package.json policyfile@0.0.4 'repositories' (plural) Not supported.
npm WARN package.json Please pick one as the 'repository' field
npm WARN package.json bytes@0.2.0 No repository field.
npm WARN package.json pause@0.0.1 No repository field.
npm WARN package.json assert-plus@0.1.2 No repository field.
npm WARN package.json ctype@0.5.2 No repository field.
C:\Users\Dmitry\AppData\Roaming\npm
└── express@3.2.6
C:\ChatServer\Server>npm ls installed express
C:\ChatServer\Server
└── (empty)
어떻게 하면 이 문제를 해결할 수 있을까요?(반드시 설치해야 함)-g
?)
프로그램의 .node_modules
폴더):
$ npm install express
그 이유는 응용프로그램이 항상 로컬 컨텍스트에서 종속성을 찾기 때문입니다.글로벌 설치는 장치 테스트 러너 또는 부트스트래퍼와 같은 시스템 전체에서 사용 가능한 바이너리를 설정하기 위한 것입니다.
Express를 사용하면 전체적으로 설치하면 다음과 같은 정보를 얻을 수 있습니다.express
응용 프로그램을 부트스트랩할 수 있는 이진 파일입니다.자세한 내용을 보려면 다음과 같이 입력합니다.
$ express --help
마지막 질문에 답하려면 다음을 수행해야 합니다. 예, 다음을 수행하지 않고 설치해야 합니다.-g
.
저는 --save 옵션을 사용하여 로컬로 express를 설치했을 때 다음과 같이 작동했습니다.
$ npm install express --save
합니다.express
다음합니다: " 듈명을, " 다령사용다니합음".
npm install express
그리고 만약 당신이node_modules
위치에 . 설정합니다.NODE_PATH
환경 변수:
set NODE_PATH=your\directory\to\node_modules;%NODE_PATH%
Golo는 솔루션을 잘 설명했지만, 저는 다음과 같은 설명을 추가할 수 있습니다.
은 노드모설경있습다니에 되는 경우가 .
/usr/local/lib/node_modules
노드 blabla.js 모듈은 에서 검색됩니다.
/lib
따라서 해결책은 심볼릭 링크를 만드는 것입니다.
sudo ln -s /usr/local/lib/node_modules/ /lib/node_modules
시스템에 노드를 설치한 경우 Windows용 다음을 사용하여 프로젝트에 대한 Express를 로컬로 설치합니다.
npm install express
또는
npm install express --save
다음을 사용하여 글로벌 액세스 권한을 부여할 수 있습니다.
npm install -g express --save
에는 당신의 신우당신의경의당의▁in신당▁your우경▁your.express
은 모이설위에 .C:\Users\Dmitry\AppData\Roaming\npm\node_modules\express
하지만 당신은 이 모듈을 당신의 프로젝트 디렉토리에 넣어야 합니다.그래서 당신은 그 파일을 복사해야 합니다.express
- 모더의C:\Users\Dmitry\AppData\Roaming\npm\node_modules\
프로젝트 디렉토리에 다음과 같이 저장합니다.C:\ChatServer\Server\node_modules
프로젝트 폴더에 'node_modules'라는 이름의 폴더가 없는 경우 먼저 폴더를 만들고 이 폴더에 해당 파일을 붙여넣습니다.이 방법은 제 윈도우 PC에서 효과가 있었습니다.를 다시 " " 를 합니다.C:\ChatServer\Server>node server.js
이제 작동해야 합니다!!!!
Ubuntu 기반 OS에서 사용해 볼 수 있습니다.
sudo apt-get install node-express
그것은 민트에서 나에게 효과가 있습니다.
모듈이 설치되어 있지만 vcode에서 이 오류가 발생했습니다.저는 타자기와 속달을 사용하고 있습니다.server.ts
파일들은 모든 가져오기들이 빨간색의 꼬불꼬불한 밑줄을 가지고 있었습니다.알고 보니 제게 결함이 있었습니다.tsconfig.json
파일.
{
"compileOnSave": false,
"compilerOptions": {
"module": "commonjs", // Previously this value was `es6`
"target": "es6",
"allowSyntheticDefaultImports": true,
"baseUrl": "public",
"sourceMap": true,
"outDir": "dist",
"jsx": "react",
"strict": true,
"preserveConstEnums": true,
"removeComments": true,
"noImplicitAny": true,
"allowJs": true
},
"exclude": [
"node_modules",
"build"
]
}
저는 이 책의 예를 따라 같은 오류를 겪었습니다: "쿠베르네테스 업 앤 런닝".
"손으로" 고속 설치를 제안하는 답변이 많지만, 최선의 해결책인지 확신할 수 없습니다.
왜냐하면 우리는 패키지를 사용하고 있기 때문입니다.json(로그에서 확인할 수 있음) 및 올바른 앱 구축 방법이 실행 중입니다.npm install
저는 패키지에 명시적 종속성을 추가했습니다.json 파일.
"dependencies": {
"express": "^4.17.1"
}
현재 버전은 다음과 같이 표시됩니다.npm search express
.
예를 들어 sample1과 같은 하드 디스크에 하나의 폴더를 만들고 명령 프롬프트를 입력합니다:cd로 이동하여 sample1 폴더의 경로를 지정한 다음 모든 모듈을 설치합니다.
npm 설치 익스프레스
npm 설치 옥
npm 설치 socket.io
그런 다음 애플리케이션을 만들고 있는 것이 무엇이든 sample1 폴더에 저장합니다.
해보세요...
응용 프로그램 디렉토리로 이동하여 아래 명령 npm install express --save를 사용하여 express 모듈을 설치한 다음 아래 명령 npmls를 사용하여 모든 설치 모듈을 나열합니다. 로컬로 설치된 모든 모듈이 표시됩니다.
저도 같은 문제에 부딪혔어요.저는 /usr/local/bin/에 전체적으로 express를 설치했습니다.'npm install'을 실행했을 때 로컬 디렉토리의 node_modules에 express가 생성되지 않았습니다.
- $HOME에 .npmrc 파일 이름이 있는지 확인합니다.
- 값이 'global = true'이면 'global = false'로 변경합니다.
- 이제 애플리케이션 디렉토리에 'npm install'을 수행합니다.애플리케이션 디렉토리 내의 node_modules(로컬)에 모든 패키지 종속 모듈을 설치해야 합니다.
- sudo brew 제거 노드
- 최신 정보를 제공
- 양조업 업그레이드
- 양조장 청소
- brew 설치 노드
- sudochown -R $(whoami) /usr/local
- brew link --break 노드
- sudo brew 설치 후 노드
이것은 MacOS X 시에라에서 작동했습니다.
저는 이것을 공유하는 것이 자랑스럽지는 않지만, 저의 경우에는 다음과 같은 일이 있었습니다.
require('express.handlebars')
//and the correct form is:
require('express-handlebars'); //Use dash instead.
1. 먼저 express가 올바른 위치에 설치되어 있는지 확인합니다. 2. npm install express(이 명령을 실행합니다.express는 "node_message" 폴더에 저장합니다.
언급URL : https://stackoverflow.com/questions/17162308/node-js-error-cannot-find-module-express
'programing' 카테고리의 다른 글
일반 프로토콜을 변수 유형으로 사용하는 방법 (0) | 2023.08.28 |
---|---|
각도 4 - 입력 값 가져오기 (0) | 2023.08.28 |
자바스크립트/jQuery에서 객체의 속성을 가져오는 방법은? (0) | 2023.08.28 |
JSON 시간 초과 처리 가져오기 (0) | 2023.08.28 |
CLOB 대 VARCHAR2 및 다른 대안이 있습니까? (0) | 2023.08.28 |