source

node.js에서 모듈 'mongodb'를 찾을 수 없습니다.

ittop 2023. 7. 6. 22:37
반응형

node.js에서 모듈 'mongodb'를 찾을 수 없습니다.

첫 번째 node.js 프로젝트를 진행하고 있습니다.mongodb를 설치하고 server.js 파일을 가지고 있는데 실행하려고 하면 이 오류가 발생합니다.

module.js:340
    throw err;
         ^
Error: Cannot find module 'mongodb'
    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)

mongodb가 설치되어 있는 것이 확실합니다. C# 창 배경에서 오는 unix는 처음이지만, 이 경로가 제대로 구성되지 않은 것 같습니다.

표시되는 오류는 MongoDB용 NPM 패키지가 올바르게 설치되지 않았다는 것을 참조하십시오.

여기서 해결책은 NPM을 어떻게 활용할 것인지에 따라 달라집니다.NPM 패키지 관리자 운영에는 로컬 및 글로벌 두 가지 다른 운영 모드가 있습니다.

첫 번째( 기본) 모드는 "local"입니다.

▁▁the▁to▁you▁go▁if는다server.js라는 하위 됩니다.node_modules에는 해당폴아는에가 됩니다.mongodb폴더를 누릅니다. 그 ,,,mongodb모듈이 해당 경로에 설치되지 않았습니다.

이 문제를 해결하기 위해,cd한 후 " 해폴및유으로형더당로으▁to"를 입력합니다.npm install mongodb프로세스가 완료되면 다음을 수행해야 합니다.node_modules/mongodb폴더를 사용할 수 있습니다.

MongoDB 를 사용하여 전체적으로 .npm install -g mongodb이 기능은 node.js 명령줄을 많이 사용하는 경우에는 유용하지만 전체를 배포하는 경우에는 유용하지 않습니다.

측면 참고: 발전하는 표준이 있습니다.package.json.package.json는 지정된 모듈에 대한 모든 종속성을 포함하는 표준화된 방법입니다.이렇게 하면 실행할 수 있습니다.npm update또는npm install프로젝트/패키지의 루트에서 모든 종속성을 효과적으로 "통합"할 수 있습니다.따라서 배포 프로세스와 종속성을 유지하는 프로세스가 크게 간소화됩니다.

(몽고와 노드가 처음이라) 얼마 동안 설치를 시도했지만 성공하지 못했고, 정말로 npm 링크 단계를 놓쳤습니다.그래서 요약하자면, 저는 이렇게 했습니다.

  1. npm 설치 mongodb -g
  2. cd /path/to/my/app/folder
  3. npm 링크 mongodb

그것이 있으면, 저는 제 애플리케이션 파일에서 이것을 할 수 있습니다: require('mongodb').

다음은 필요한 경우를 대비하여 몇 가지 참조 자료입니다.

이 문제는 아래의 이유 중 하나로 인해 발생했을 것입니다.

mongodb 모듈을 설치하지 않았습니다.

글로벌 컨텍스트에 mongodb를 설치했지만 현재 응용 프로그램에 연결되지 않았습니다.

해결책

응용 프로그램 최상위 디렉터리로 이동하여 npm install mongodb를 실행하면 mongodb 모듈이 설치되고 프로젝트에서 자동으로 감지됩니다.

또는

npm install mongodb -g를 실행하여 mongo DB 모듈을 전체적으로 설치한 다음 npm link mongodb 명령을 사용하여 응용 프로그램 최상위 디렉터리 및 링크로 Ttaverse합니다.

전체 링크 사용

http://blog.nodejs.org/2011/03/23/npm-1-0-global-vs-local-installation/

https://npmjs.org/doc/link.html

두 가지 작업 중 하나를 수행하여 실행할 수 있습니다.

아래 단계를 통해 전체적으로 mongodb 설치:-

npm install mongodb -g

module.js가 있는 앱 디렉터리로 이동한 다음 실행합니다.

npm link mongodb

설명 :- npm을 통해 글로벌하게 패키지를 설치하면 global node_module 폴더로 다운로드 됩니다.저(Mac 사용자)의 경우 /usr/local/lib/node_modules/mongodb 아래에 있습니다.이를 module.js를 실행하려는 디렉토리에 연결합니다.

또 다른 접근 방식은 mongodb를 로컬로 설치하는 입니다.

npm install mongodb

다음 중 하나를 수행하면 'module.js' 디렉토리 아래에 node_modules --> mongodb 폴더가 표시됩니다. 이는 mongodb가 성공적으로 설치되었음을 의미합니다.

아래 단계를 통해 전체적으로 mongodb 설치:-

npm 설치 mongodb -g

module.js가 있는 앱 디렉터리로 이동한 다음 실행합니다.

npm 링크 mongodb

설명 :- npm을 통해 글로벌하게 패키지를 설치하면 global node_module 폴더로 다운로드 됩니다.저(Mac 사용자)의 경우 /usr/local/lib/node_modules/mongodb 아래에 있습니다.이를 module.js를 실행하려는 디렉토리에 연결합니다.

오류

jamsheed-h110m-s2ph:~/project/jamsheed/meanStack/mean$ node server.js
module.js:538
    throw err;
    ^
Error: Cannot find module 'mongodb'
    at Function.Module._resolveFilename (module.js:536:15)
    at Function.Module._load (module.js:466:25)
    at Module.require (module.js:579:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (/home/haseeb/project/jamsheed/meanStack/mean/server.js:3:13)
    at Module._compile (module.js:635:30)
    at Object.Module._extensions..js (module.js:646:10)
    at Module.load (module.js:554:32)
    at tryModuleLoad (module.js:497:12)
    at Function.Module._load (module.js:489:3)

해결된

npm mongodb 설치

패키지를 편집합니다.json = "mongodb": "^3.0.1", "mongodb" 변경: "3.0.1",

저는 MongoDB가 처음입니다.npm을 통해 mongodb를 설치하는 데 몇 시간을 소비한 후, 저는 마침내 사진을 얻었습니다.보세요, 실제로 처리해야 할 세 가지 "mongodb"가 있습니다(저는 OSX를 사용하고 있습니다).

노드에 사용된 드라이버JS: 즉, varmongo = required/usr/local/lib/node_required/mongodb')입니다.또는, 긴 경로를 피하기 위해 앞의 게시물에서 언급한 "npm link"를 사용할 수 있습니다."npm install -gmongodb" 명령은 mongodb 드라이버를 /usr/local/lib 아래에 설치합니다(이것이 "-g"를 의미함).이 남자는 설치하는 데 몇 시간이 걸렸습니다. 이유를 모르니, 인내심을 가지세요!

mongodb 유틸리티(즉, UNIX 실행 가능 명령).http://www.mongodb.org/downloads 에서 다운로드할 수 있습니다.여기에는 mongodb 데이터베이스를 시작할 수 있는 mongod 명령이 포함되어 있습니다.그래서 /usr/local/bin에서 /usr/local/lib/node_modules/mongodb-osx-x86_64-2.6.7/bin/mongod를 가리키며 심볼 링크인 mongod를 만들었습니다.

/data/db가 가리키는 mongodb 데이터베이스입니다.그래서 /data 아래에 /Users/your_user_id/Database/mongodb(또는 넣고 싶은 곳)를 가리키는 db라는 심볼릭 링크를 만들었습니다. mongodb는 mkdir를 통해 만들 수 있는 빈 디렉토리입니다.

위의 #2 mongodb를 설치했기 때문에 명령줄에서 mongod를 실행하면 mongodb #3 아래에 데이터베이스를 만들고 시작할 수 있습니다.

왜냐하면 당신은 npm까지 mongodb #1을 설치했기 때문에, 이제 당신의 NodeJS 프로그램에 그것을 요구할 수 있습니다.

잘했어요!

저는 같은 문제를 얻었고 이 단계를 통해 해결합니다.

1. Project Dir로 이동합니다(프로젝트 경로 cd).

2.명령 셸에서 이 명령을 실행합니다(install npm).

3. 프로젝트를 실행합니다(예: 노드 app.js).

다른 프로젝트 경로를 실행하려고 할 수 있습니다.저는 같은 문제에 직면했고 아래의 몇 가지 단계를 따름으로써 해결되었습니다.

1.) 명령 셸 "cd /project path"를 사용하여 프로젝트 디렉터리로 이동합니다.

2.) 이제 프로젝트를 실행합니다.

제 문제는 제가 처음에 패키지를 만들었을 때였습니다.json 파일, "version" 키를 "1.0.0" 값과 일치하도록 했습니다.종속성 키에서 사용할 버전을 반영하기 위해 버전 값으로 변경했을 때 오류가 발생하지 않았습니다.잠재적인 해결책의 아래 그림이 있습니다.종속성 아래의 "버전"과 "mongodb"가 어떻게 일치하는지 주목합니다.enter image description here

언급URL : https://stackoverflow.com/questions/14226410/node-js-cannot-find-module-mongodb

반응형