터미널에서 노드 응용 프로그램을 실행 중입니다. 최근 노드 v8.5.0으로 업그레이드했지만 다음 오류가 발생합니다.
Error: The module '/tidee/tidee-au/packages/tidee-au-server/node_modules/bcrypt/lib/binding/bcrypt_lib.node'
was compiled against a different Node.js version using
NODE_MODULE_VERSION 51. This version of Node.js requires
NODE_MODULE_VERSION 57. Please try re-compiling or re-installing
the module (for instance, using `npm rebuild` or `npm install`).
at Object.Module._extensions..node (module.js:653:18)
at Module.load (module.js:545:32)
at tryModuleLoad (module.js:508:12)
at Function.Module._load (module.js:500:3)
at Module.require (module.js:568:17)
at require (internal/module.js:11:18)
at Object.<anonymous> (/tidee/tidee-au/packages/tidee-au-server/node_modules/bcrypt/bcrypt.js:6:16)
at Module._compile (module.js:624:30)
at Module._extensions..js (module.js:635:10)
at Object.require.extensions.(anonymous function) [as .js] (/tidee/tidee-au/packages/tidee-au-server/node_modules/babel-register/lib/node.js:152:7)
at Module.load (module.js:545:32)
at tryModuleLoad (module.js:508:12)
at Function.Module._load (module.js:500:3)
at Module.require (module.js:568:17)
at require (internal/module.js:11:18)
at Object.<anonymous> (/tidee/tidee-au/packages/tidee-au-server/server/helpers/encryptPass.js:1:16)
어떻게 해결할 수 있습니까?
답변
폴더에서 모듈 폴더 ( bcrypt
) 를 제거 node_modules
하고 다시 설치해야합니다. 다음 명령을 사용하십시오.
$ rm -rf node_modules/bcrypt
$ npm install
// or
$ yarn
답변
나는 같은 문제가 있었고 여기에 언급 된 것이 나를 위해 일 하지 않았다 . 다음은 나를 위해 일한 것입니다.
main.js
전자에 의해 실행되는 파일에 필요한 모든 종속성이 필요합니다 . (이것은 저에게 가장 중요한 부분 인 것 같습니다)- 전자 재 구축 패키지
npm i -D electron-rebuild
를 추가하기 위해 실행 - 파일
node-modules
과 함께 폴더를 제거하십시오packages-lock.json
. npm i
모든 모듈을 설치하려면 실행하십시오 ../node_modules/.bin/electron-rebuild
(.\node_modules\.bin\electron-rebuild.cmd
Windows 용)을 실행 하여 모든 것을 다시 빌드하십시오.
그렇지 않으면 내 Mac에서 작동하지 않은 후에 직접 실행하는 것이 매우 중요 합니다 ../node_modules/.bin/electron-rebuild
npm i
나는 좌절 한 영혼들을 도울 수 있기를 바랍니다.
답변
당신은해야 할 패키지를 다시 하고 너무 바이너리의 업데이트 할 NPM에게 . 시험:
npm rebuild bcrypt --update-binary
@robertklep,이 명령을 사용하여 상대의 질문에 대답 봐 .
재 구축 만해도 문제가 해결되지 않았습니다. 응용 프로그램에서 제대로 작동합니다.
그것이 도움이되기를 바랍니다!
답변
간단히 실행하십시오.
npm uninstall bcrypt
뒤에 :
npm install bcrypt
(또는 npm install
, bcrypt 가 package.json 파일 에서 종속성으로 선언 된 경우 )
답변
이 링크를 볼 수 있습니다
노드 버전을 확인하십시오. NODE_MODULE_VERSION 51을 사용한다는 것은 노드 버전이 nodejs v7.x이고, NODE_MODULE_VERSION 57이 필요하다는 것은 노드를 v8.x로 업그레이드해야한다는 것을 의미하므로 노드를 업그레이드해야합니다. 그런 다음 npm rebuild
프로젝트를 다시 빌드 하려면 명령을 실행해야합니다.
답변
package-lock.json으로 인해이 문제가 발생했을 가능성이 큽니다. 어떻게 든 명시 적으로 실행하더라도 종속성을 다시 컴파일하거나 다시 작성하지 못하게하는 것처럼 보입니다 npm rebuild
. 나는 나를 위해 그것을 고치기 위해 다음을 모두 실행했다.
rm package-lock.json;
rm -rf node_modules;
npm install;
답변
NodeJS 버전이 하나만 설치되어 있는지 확인하십시오. 이 두 가지를 시도하십시오.
node --version
sudo node --version
처음에 소스에서 NodeJS를 설치했지만 nvm
이전 버전을 제거하지 않고을 사용하여 최신 버전으로 ‘업그레이드’하여 잘못된 버전이었으며 /root/.nvm/versions/...
디렉토리에 원하는 버전 만 설치합니다 . 따라서 sudo node
이전 버전 node
을 가리키고있는 반면 새로운 버전을 가리키고있었습니다.