Błąd "node-pre-gyp" przy instalacji bcrypt z npm

0

Używam wersje node v20.9.0

mam taki komunikat przy instalowaniu bcrypt

C:\data\socialapp\server>npm i bcrypt
npm ERR! code 7
npm ERR! path C:\data\socialapp\server\node_modules\bcrypt
npm ERR! command failed
npm ERR! command C:\Windows\system32\cmd.exe /d /s /c node-pre-gyp install --fallback-to-build
npm ERR! node-pre-gyp info it worked if it ends with ok
npm ERR! node-pre-gyp info using [email protected]
npm ERR! node-pre-gyp info using [email protected] | win32 | x64
npm ERR! node-pre-gyp ERR! UNCAUGHT EXCEPTION
npm ERR! node-pre-gyp ERR! stack Error: Cannot find module 'C:\data\socialapp\server\node_modules\whatwg-url\lib\public-api.js'. Please verify that the package.json has a valid "main" entry
npm ERR! node-pre-gyp ERR! stack     at tryPackage (node:internal/modules/cjs/loader:415:19)
npm ERR! node-pre-gyp ERR! stack     at Module._findPath (node:internal/modules/cjs/loader:665:18)
npm ERR! node-pre-gyp ERR! stack     at Module._resolveFilename (node:internal/modules/cjs/loader:1034:27)
npm ERR! node-pre-gyp ERR! stack     at Module._load (node:internal/modules/cjs/loader:901:27)
npm ERR! node-pre-gyp ERR! stack     at Module.require (node:internal/modules/cjs/loader:1115:19)
npm ERR! node-pre-gyp ERR! stack     at require (node:internal/modules/helpers:130:18)
npm ERR! node-pre-gyp ERR! stack     at Object.<anonymous> (C:\data\socialapp\server\node_modules\node-fetch\lib\index.js:10:33)
npm ERR! node-pre-gyp ERR! stack     at Module._compile (node:internal/modules/cjs/loader:1241:14)
npm ERR! node-pre-gyp ERR! stack     at Module._extensions..js (node:internal/modules/cjs/loader:1295:10)
npm ERR! node-pre-gyp ERR! stack     at Module.load (node:internal/modules/cjs/loader:1091:32)
npm ERR! node-pre-gyp ERR! System Windows_NT 10.0.19045
npm ERR! node-pre-gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\data\\socialapp\\server\\node_modules\\@mapbox\\node-pre-gyp\\bin\\node-pre-gyp" "install" "--fallback-to-build"
npm ERR! node-pre-gyp ERR! cwd C:\data\socialapp\server\node_modules\bcrypt
npm ERR! node-pre-gyp ERR! node -v v20.9.0
npm ERR! node-pre-gyp ERR! node-pre-gyp -v v1.0.11

npm ERR! A complete log of this run can be found in: C:\Users\conta\AppData\Local\npm-cache\_logs\2023-11-07T11_31_01_802Z-debug-0.log
0
artur2015 napisał(a):

Używam wersje node v20.9.0

mam taki komunikat przy instalowaniu bcrypt

Co masz w package.json?

Ja zainstalowałem bcrypt na pustym folderze, i się udało normalnie:

mkdir test/
cd test/
npm install bcrypt

Jak zainstalujesz w pustym folderze to masz ten sam błąd?

0

Jak zainstalujesz w pustym folderze to masz ten sam błąd?

ten sam blad

0

Wydaje się że temat był poruszony tutaj: https://github.com/kelektiv/node.bcrypt.js/issues/875

Sugerują tam żeby zainstalować bcryptjs, zamiast bcrypt. Czy to jest opcja?

Takie rzeczy jak node-gyp albo node-pre, to na 99% będą wymagały "Microsoft Visual Studio C++ Redistributable", tylko nigdy nie wiadomo z jakiego roku. Np wiem że node-sass był z 2015.

1

Jeśli chcesz skorzystać z natywnego bcrypt to musisz mieć wymagane kompilatory. Nie wiem czy biblioteka brypt będzie kompilowalna na wersję node'a którą używasz + nie pomaga fakt posiadania Windowsa.

Natomiast możesz spróbować zainstalować potrzebny tool-chain tak jak jest to opisane tutaj: https://github.com/nodejs/node-gyp#on-windows

0

Na windowsie choćbyś nie wiem co robił zawsze jakaś libka nie będzie się chciała zbudować. Polecam WSL, czyli ten "linux w windowsie". Wymaga trochę ogarniania, może wprowadzać nowe problemy, ale finalnie się opłaca

Choć najlepiej po prostu developować na Linuksie. Nie dość, że nagle wszystko 3-4x szybsze, to jednak tworzysz na środowisku zbliżonym do tego, na którym to potem będziesz budować/odpalać.

0

dzieki za pomoc

1 użytkowników online, w tym zalogowanych: 0, gości: 1