'../build/Release/bson' 모듈을 찾을 수 없습니다. 코드: 'MODULE_NOT_FOUND' } js-bson:순수 JS 버전을 사용하여 c++ bson 확장을 로드하지 못했습니다.
다음의 에러가 표시됩니다.
{ [Error: Cannot find module '../build/Release/bson'] code: 'MODULE_NOT_FOUND' }
js-bson: Failed to load c++ bson extension, using pure JS version
버전 세부 정보는 다음과 같습니다.
OS: Windows 7
MongoDB: 2.6.5
노드: 0.12.0
저는 이 이슈를 여기에 올리기 전에 이러한 것들을 시도했습니다.
는 ㅇㅇㅇㅇㅇ에.
\node-modules\mongoose\node-modules\mongodb\node-modules\bson
에서 binding-gyp에서 및 .'include_dirs': [ '<!(node -e "require(\'nan\')")' ]
로로 합니다.'include_dirs': ["<!(nodejs -p -e \"require('path').dirname(require.resolve('nan'))\")"]
명령어를 실행.
npm install -g node-gyp
을 mongoose의 3.
package.json
아무것도 안 돼.제안해 주세요
npm module mongodb에서 찾습니다.
..\node_displays\mongodb\node_displays\bson\ext\index.displays
catch 블록에서 js 버전으로 경로 변경:
bson = require('../build/Release/bson');
수신인:
bson = require('../browser_build/bson');
또는 파일 복사 위치:
..\node_bson\build\릴리스\bson
송신원:
..\node_module\bson\module_build\bson
오늘(2016년 2월 19일)에 이 문제가 발생하여 최신 버전의 Mongoose를 설치하는 것만으로 해결했습니다.이것을 소포에 넣어 보세요.json:
"mongoose": "~4.4"
도움이 됐으면 좋겠다.날 위해 해결했어!
문제는 npm을 통해 mongoose를 설치할 때 python이 Windows에 설치되어 있다고 가정하고 필요한 라이브러리를 구축하려고 한다는 것입니다.python이 없기 때문에 경고와 함께 빌드 단계를 건너뜁니다.그러나 응용 프로그램을 시작할 때 필요한 모듈이 없기 때문에 이 오류가 발생합니다.
올바른 작업을 수행하려면 먼저 https://www.python.org/downloads/에서 python(버전 2.7)을 컴퓨터에 설치하거나 checkolatey를 설치한 경우 입력하세요.choco install python2
.
그런 다음 python 변수가 설정되어 있는지 확인합니다.명령 프롬프트에서 다음과 같이 설정할 수 있습니다.
SET python=D:\Python27\python.exe
(물론 python 위치에 따라 경로를 변경해야 합니다.)그런 다음 node-gyp를 설치합니다.
npm install -g node-gyp
이것으로 mongoose 또는 문제의 원인이 되는 모듈을 다시 설치할 수 있습니다.
npm install mongoose
이번에는 빨간색이 아닌 노란색 선이 표시되지만 오류는 사라집니다.
버전 mogoose를 했습니다.3.8.23
npm install mongoose@3.8.23
이건 나한테 효과가 있었어.작업영역에서 텍스트를 검색합니다.
"../build/Release/bson"
아마 몽고스와 몽크 모듈 안에 있을 거예요.
다음으로 각각을 교환합니다.
bson = require('../build/Release/bson');
포함:
bson = require('bson');
그게 다야!
★★를 해 보세요.npm install mongoose@3.8.23
또, 교환하다bson = require('../build/Release/bson');
접속합니다.
bson = require('../browser_build/bson');
node_syslogsyslognode_syslog/bsson/ext/index.syslogaces에 있습니다.
이 방법은 효과가 있었습니다.
(프로젝트의) 파일로 이동합니다.
node_modules/mongoose/node_modules/mongodb/node_modules/bson/ext/index.js
및 변경:
bson = require('../build/Release/bson');
대상:
bson = require('bson');
참고 자료: https://github.com/mongodb/js-bson/issues/118
단답
최신 버전의 mongodb를 설치합니다.
조금 더 길게 대답하세요.
소포를 확인하세요.json은 최신 버전의 mongodb를 사용하고 있으며 node_modb를 삭제하고 npm 설치를 다시 수행합니다.직접 의존관계로 mongodb를 사용하지 않은 경우 어떤 패키지가 mongdb를 사용하고 있는지 확인합니다.사용:
find . -type f -name package.json | xargs grep mongodb
...
./sails-mongo/package.json: "mongodb": "1.4.26",
...
그래서 ./sails-mongo/package를 업데이트했습니다.대상:
"mongodb": "2.1.7",
그런 다음 node_modules/mongodb를 삭제하고 npm 설치를 다시 수행합니다.이제 괜찮아 보인다.
더 긴 답변
현재 권장되는 사용 방법이 마음에 들지 않습니다.
require('../browser_build/bson')
../browser_build/bson.js를 살펴본 이후 4k+라인 파일입니다.이 파일도 비네이티브 실장이라고 생각됩니다.그래서 불평은 하지 않겠지만, "순수 JS 버전 사용" 즉, 성능 저하를 의미합니다.
https://github.com/mongodb/js-bson/issues/145 및 https://github.com/mongodb/js-bson/issues/165,에서 이 문제가 발생한 이유는 다음과 같습니다.
2015년 9월 15일 안토니오 프루치 코멘트
c++ 코드가 6개월 전에 삭제되어 bson-ext라는 옵션 의존관계가 된 것을 알게 되었습니다.실제로 최신 버전을 설치하면 오류가 발생하지 않습니다.
그래서 node_modules 전체를 삭제하려고 했는데 같은 오류가 발생했습니다.그리고 소포를 보고 있다.node_displays/mongodb의 json. 버전은 최신 2.1.7이 아닌 1.4.26입니다.
내 mongodb는 내가 설치한 다른 패키지의 종속물인 sails-mongo로 온 것 같다.패키지를 수정하는 중입니다.sails-mongo의 json과 npm 설치를 재실행하면 문제가 해결됩니다.
Keystone JS CMS 도입 시 동일한 오류가 발생했으며, 가장 우아한 솔루션은 다음과 같습니다.
npm-check-updates
:
root@keystonejs:~# npm install -g npm-check-updates
디렉토리 내서 「」는 「」입니다.package.json
의존관계를 합니다.
debian@keystonejs:~/myproject/manalcjim$ npm-check-updates -u
그런 다음 모든 패키지를 업데이트합니다.
debian@keystonejs:~/myproject/manalcjim$ npm install
마지막으로 '이것'을 했다면 '이것'을 선택해주세요.jade
는, 인스톨이 경우가 있습니다.jade
★★★★★★★★★★★★★★★★★★:
debian@keystonejs:~/myproject/manalcjim$ npm install jade --save
되어 있는 ('mongoose는 mongoose입니다.npm install mongoose
.mongodb
node_modules
더입니니다다
다음의 순서로, 문제의 트러블 슈팅을 실시할 필요가 없어졌습니다.
npm install mongoose
node_modules\mongoose\node_modules\mongodb
뿌리까지node_modules
폴더와 함께 을 덮어씁니다.npm install mongodb
)Failed to load c++ bson extension...
error 이) error(이 문제에 대해 침묵하도록 변경)
표시된 답은 완전히 틀렸다.콘솔 로그 문을 숨기고 실제 문제에 대처하는 것은 아무것도 하지 않습니다.눈을 감아도 같은 결과를 얻을 수 있습니다.
이 문제는 노드 Gyp와 그것만이 원인입니다.그 목적은 bson과 같은 특정 모듈의 네이티브 확장을 컴파일하는 것입니다.
실패했을 경우 코드는 JS 버전으로 폴백하여 다음 메시지를 통해 알려드립니다.
Failed to load c++ bson extension, using pure JS version
이 문제는 메시지를 보지 않고 네이티브 C++ 확장자를 컴파일하는 방법에 관한 것이므로 이에 대처해 봅시다.
node-gyp가 기능하려면 node-gyp가 노드 및 C++ 컴파일러와 함께 최신 상태여야 합니다(이것은 OS에 따라 다릅니다).모듈도 최신 상태여야 합니다.
먼저 node-gyp를 제거하고 다시 설치합니다.
npm un node-gyp -g;npm i node-gyp -g
이제 앱에서 bson이 있는 노드 모듈(요건에 따라 설치된 모듈 포함)을 완전히 제거하고 다시 설치해야 합니다.이것으로 오류를 해결할 수 있습니다.Release/bson'을 검색하여 범인을 찾을 수 있습니다.
find node_modules/ -type 'f' -exec grep -H 'Release/bson' {} \;
그런 다음 모듈을 제거하고 다시 설치합니다.
것은 그냥 를 다시 입니다.node_modules
★★★★
rm -rf node_modules
npm cache clear
npm i
그래도 문제가 발생할 경우 1) 모듈이 최신 상태가 아니거나 2) 문제 트래커를 보고 충돌이 발생할 수 있습니다. 예를 들어 로컬 노드 집트가 발생할 수 있습니다. node-gyp
버전을 확인합니다.
「 」의 www.spotdekho.com
windows10
명령어를 할 수 ."nodemon web.js"
에러 「」가 원인입니다.
"오류: '../build/Release/bson' 모듈을 찾을 수 없습니다."
이하의 순서로 수정했습니다.
- "node_modules\bson\build" 위치에 "Release" 폴더를 만듭니다.
- "node_modules\bson\browser_build"에서 bson.js를 복사합니다.
- bson.js를 "node_modules\bson\build\" 안에 붙여넣습니다.Release" 폴더.
이것으로 문제가 해결됩니다.
PS: mongoose 버전 4.8.8을 사용하고 있습니다.
감사합니다:)누군가에게 도움이 되길 바랍니다.
이와 같은 에러가 발생했을 때는 노드 v0.10에서 노드 v4.x.x로 업그레이드하고 있었습니다.새로운 버전의 gcc를 설치해야 했습니다(gcc v4.4.x 같은 것이 있었던 것 같습니다).저는 gcc 4.7.2로 업데이트했고 그 이후로는 모든 것이 작동했습니다.
나도 bson과 같은 문제가 있었다.
새로운 mongoose 버전 시도
npm install mongoose@4.4
문제를 해결했습니다.
마시모.
를 실행하여 mongoose를 제거합니다.npm uninstall --save mongoose
그 에는 - 다시 설치하다npm
run mongoose의 최신 합니다.npm install --save mongoose
이건 나한테 효과가 있었어.
유감스럽게도 위의 답변은 모두 절반밖에 맞지 않습니다.이걸 알아내는데 오랜 시간이 걸렸어요
npm을 통한 Mongoose bson 설치는 경고를 발생시키고 오류를 발생시킵니다.
npm install -g node-gyp
git clone https://github.com/mongodb/js-bson.git
cd js-bson
npm install
node-gyp rebuild
이건 마법처럼 작동해!!
Windows 8.1 을 사용하고 있는 경우는, npm 모듈을 올바른 Visual Studio 컴파일러로 인스톨 하고 있는 것을 확인해 주세요.
Visual Studio 2012가 설치되어 있으면 이 명령어가 작동합니다.(node_modules dir 삭제 후)
npm install --msvs_version=2012
어떤 이유로 node-gyp가 잘못된 버전의 Visual Studio 컴파일러를 사용하려고 합니다.mongodb 및 mongoose 모듈을 설치할 때 "npm install" 명령어가 노드 Gyp 의존 관계가 아닌 경고를 출력하고 있다는 것도 알게 되었습니다.
올바른 msvs_version을 사용한 후 npm 설치 경고와 nodejs 앱 실행 시 콘솔 경고가 사라졌습니다.
또한 Python 3.0.X가 아닌 올바른 Python 2.7.X 버전이 설치되어 있는지 확인해야 할 수도 있습니다.
또한 python이 env 경로에 있는지 확인해야 합니다.
Windows 7(x64)에서 유일하게 도움이 되는 것은 https://stackoverflow.com/a/29714359/2670121입니다.
x32 버전을 사용하여 노드와 python을 다시 설치합니다.
에러확장자를 )와 때 (c++bson 확장자를 하지 못했습니다).node-gyp
(네이티브 애드온 빌드용) 및 비주얼 스튜디오가 있는 Windows SDK 설치 - nodejs는 조립 모듈 bson.node를 모듈로 인식하지 못했습니다.재인스톨 하면, 문제는 해소된다.
다시, 이 오류는 무엇을 의미합니까?
사실, 오류도 아닙니다.아직 몽구스를 쓸 수 있어요.그러나 이 경우 bson 모듈의 고속 네이티브 실현 대신 js-realization이 실행되어 속도가 느려집니다."node_modules 내부 경로 편집..."과 같은 힌트를 많이 볼 수 있었습니다.문제가 해결되지 않고 에러 메시지만 꺼버리기 때문에 전혀 쓸모가 없습니다.
드셔보세요.npm install bson
★★★★★★★★★★★★★★★★★」npm update
NODE_MODULS 라이브러리 폴더의 파일을 변경하지 마십시오.
은 이이의 입니다.npm install
명령어를 입력합니다.
기본적으로 Windows 사용자에게는 VM을 사용하는 것이 올바른 방법이라고 생각합니다.재택근무를 할 때 하는 거예요.
필요한 모든 것:
for CentOS: yum install gcc gcc-c++ make openssl-devel
for Debian/Ubuntu: apt-get install build-essential
그리고 나서.npm install
또는 이미 실행한 경우 -npm update
나에게 가장 좋은 해결책은 node-mongodb 1.x에서 2.x로 업그레이드하는 것이었습니다.
이 스레드가 1년 이상 된 것은 알지만 모듈이 다르지만 도움이 되었습니다.
mongoose-post-findv0.0.2를 설치했더니 이 문제가 시작되었습니다.수정하기 위해 제안사항을 사용하여 \node_modules\mongoose-post-find\node_modules\bson\ext로 이동하여 index.js 파일을 열었습니다.
파일은 올바른 bson 버전을 요구하려는 시도 캐치 블록으로 시작합니다.
try {
// Load the precompiled win32 binary
if(process.platform == "win32" && process.arch == "x64") {
bson = require('./win32/x64/bson');
} else if(process.platform == "win32" && process.arch == "ia32") {
bson = require('./win32/ia32/bson');
} else {
bson = require('../build/Release/bson');
}
} catch(err) {
// Attempt to load the release bson version
try {
bson = require('../browser_build/bson');
} catch (err) {
console.dir(err)
console.error("js-bson: Failed to load c++ bson extension, using pure JS version");
bson = require('../lib/bson/bson');
}
}
이것이 수정 버전입니다.무슨 일이 있었냐면.. /build/Release/bson에서 bson을 로드하려다가 찾지 못하고 catch에 빠졌습니다.../build/Release/bson에서 bson을 다시 로드하려고 했지만 실패했습니다.따라서 캐치 내의 경로를 변경하여 ../browser_build/bson을 검색합니다.이것으로 에러가 해결되었습니다.
완성도를 높이기 위해 글을 올립니다.
ubuntu를 16.04로 업그레이드한 후에도 같은 문제가 발생하였습니다.이렇게 해결했어요 도움이 됐으면 좋겠네요
$rm -rf node_modules
$npm --save install bson
$npm --save install mongoose
$npm install
이 경우 c++ 버전 bson을 찾을 수 없었던 이유는 기업 프록시의 배후에 있으며 BSON 빌드 프로세스에서 파일을 가져오기 위해 손을 뻗어야 하기 때문입니다.node_modules/bson/builderror.log에서 다음과 같은 오류가 발견되었습니다.
gyp WARN install got an error, rolling back install gyp ERR! configure error gyp ERR! stack Error: connect ECONNREFUSED gyp ERR! stack at errnoException (net.js:904:11) gyp ERR! stack at Object.afterConnect [as oncomplete] (net.js:895:19)
그래서 프록시가 문제일 수도 있다는 거죠http_proxy 및 https_proxy 환경변수를 설정하면 해결되었습니다.
이 점에 대해 다시 한 번 각성시켜 죄송합니다만, 이 스레드가 저희 문제를 해결하는 데 큰 도움이 되었기 때문에 앞으로 이 글을 올려주셨으면 합니다.
npm install mongoose --msvs_version=2012를 설치해보니 Visual이 여러 개 설치되어 있으면 작동했습니다.
초판bson.js
에서 코드하다.browser_build folder
두 번째 새 파일 생성bson.js
코드 붙여넣기
세 번째, 새 파일을 다음 위치에 저장합니다.index.js
.
OS Windows 8.1을 사용하고 있는데, 같은 문제가 있었습니다.문제의 원인은 Python 버전입니다.파일을 검토해보니 오리진 문제가 있더군요...\node_mongodb\node_mongodb\node\mongodb-core\node_module\kerberos\builderror.log.
올바른 버전의 Python(64비트용 2.7.9)을 설치했더니 문제가 해결되었습니다.
참고: 설치된 python 버전은 2.7.5 이상 3.0.0 미만이어야 합니다.
bson = require('../browser_build/bson');
또 가 발생하게 됩니다.
정의되지 않은 속성 'BSON_BINIAR_SUBTYPE_DEFAULT'를 설정할 수 없습니다.
는 이 했다.npm update
몽구스 부손
그래서 같은 문제가 발생했는데 지정된 mongoDB URL이 존재하지 않습니다.그러니 이걸 고치려면..\server\config\environment" 폴더와 "development.js"에서 편집하여 mongoDB로의 링크를 파일합니다.
예:
// Development specific configuration
// ==================================
module.exports = {
// MongoDB connection options
mongo: {
uri: 'mongodb://localhost/test2-dev'
},
seedDB: true
};
따라서 "uri: '//localhost/test2-dev'를 mongoDB 데이터베이스에 대한 실제 경로로 변경합니다.
제 게시물이 누군가에게 도움이 된다면 기쁠 텐데...
npm module mongodb ..node_mongodb\node_module\bson\ext\index.module에서 찾을 수 있습니다.
catch block에서 js 버전으로 경로를 변경합니다.
bson = require('../build/Release/bson');
로로 합니다.bson = require('../browser_build/bson');
try {
// Load the precompiled win32 binary
if(process.platform == "win32" && process.arch == "x64") {
bson = require('./win32/x64/bson');
} else if(process.platform == "win32" && process.arch == "ia32") {
bson = require('./win32/ia32/bson');
} else {
bson = require('../browser_build/bson');
}
} catch(err) {
// Attempt to load the release bson version
try {
bson = require('../browser_build/bson');
} catch (err) {
console.dir(err)
console.error("js-bson: Failed to load c++ bson extension, using pure JS version");
bson = require('../lib/bson/bson');
}
}
언급URL : https://stackoverflow.com/questions/28651028/cannot-find-module-build-release-bson-code-module-not-found-js-bson
'programing' 카테고리의 다른 글
각도 지시어 다른 템플릿 (0) | 2023.04.02 |
---|---|
for loop에서 ajax 콜백 함수로 인덱스 전달(JavaScript) (0) | 2023.04.02 |
Angular 1.5, 부모 컨트롤러에서 컴포넌트의 함수를 호출합니다. (0) | 2023.04.02 |
모든 Axios 요청에 대한 Authorization 헤더 첨부 (0) | 2023.04.02 |
angularjs 앱에서 안전한(!) 인증 시스템을 얻는 방법 (0) | 2023.04.02 |