No puedo instalar el bcrypt
uso npm
en mi máquina porque encuentro los siguientes errores. He estado solucionando el problema sin mucha suerte. ¿Puede recomendarme algún paso para diagnosticar o solucionar el problema para que pueda ejecutarlo npm install bcrypt
correctamente?
Someones-Macbook:node_modules Cody$ npm install bcrypt
npm WARN package.json grunt-contrib-htmlmin@0.1.3 No README data
|
> bcrypt@0.7.7 install /Applications/MAMP/htdocs/richintime/ultimate-seed/node_modules/bcrypt
> node-gyp rebuild
child_process: customFds option is deprecated, use stdio instead.
CXX(target) Release/obj.target/bcrypt_lib/src/blowfish.o
CXX(target) Release/obj.target/bcrypt_lib/src/bcrypt.o
CXX(target) Release/obj.target/bcrypt_lib/src/bcrypt_node.o
../src/bcrypt_node.cc:118:18: error: no member named 'Dispose' in 'v8::Persistent<v8::Function, v8::NonCopyablePersistentTraits<v8::Function>
>'
callback.Dispose();
~~~~~~~~ ^
../src/bcrypt_node.cc:202:19: error: unknown type name 'uv_work_t'
void GenSaltAsync(uv_work_t* req) {
^
../src/bcrypt_node.cc:219:24: error: unknown type name 'uv_work_t'
void GenSaltAsyncAfter(uv_work_t* req) {
^
../src/bcrypt_node.cc:220:17: error: calling a protected constructor of class 'v8::HandleScope'
HandleScope scope;
^
/Users/Cody/.node-gyp/0.12.0/deps/v8/include/v8.h:816:13: note: declared protected here
V8_INLINE HandleScope() {}
^
../src/bcrypt_node.cc:228:44: error: no member named 'New' in 'v8::String'
argv[0] = Exception::Error(String::New(baton->error.c_str()));
~~~~~~~~^
../src/bcrypt_node.cc:229:19: error: no matching function for call to 'Undefined'
argv[1] = Undefined();
^~~~~~~~~
/Users/Cody/.node-gyp/0.12.0/deps/v8/include/v8.h:305:28: note: candidate function not viable: requires single argument 'isolate', but no
arguments were provided
friend Handle<Primitive> Undefined(Isolate* isolate);
^
../src/bcrypt_node.cc:232:19: error: no matching function for call to 'Undefined'
argv[0] = Undefined();
^~~~~~~~~
/Users/Cody/.node-gyp/0.12.0/deps/v8/include/v8.h:305:28: note: candidate function not viable: requires single argument 'isolate', but no
arguments were provided
friend Handle<Primitive> Undefined(Isolate* isolate);
^
../src/bcrypt_node.cc:238:20: error: member reference type 'v8::Persistent<v8::Function>' is not a pointer; maybe you meant to use '.'?
baton->callback->Call(Context::GetCurrent()->Global(), 2, argv);
~~~~~~~~~~~~~~~^~
.
../src/bcrypt_node.cc:238:22: error: no member named 'Call' in 'v8::Persistent<v8::Function, v8::NonCopyablePersistentTraits<v8::Function> >'
baton->callback->Call(Context::GetCurrent()->Global(), 2, argv);
~~~~~~~~~~~~~~~ ^
../src/bcrypt_node.cc:238:36: error: no member named 'GetCurrent' in 'v8::Context'
baton->callback->Call(Context::GetCurrent()->Global(), 2, argv);
~~~~~~~~~^
../src/bcrypt_node.cc:246:34: error: unknown type name 'Arguments'; did you mean 'v8::internal::Arguments'?
Handle<Value> GenerateSalt(const Arguments &args) {
^~~~~~~~~
v8::internal::Arguments
/Users/Cody/.node-gyp/0.12.0/deps/v8/include/v8.h:127:7: note: 'v8::internal::Arguments' declared here
class Arguments;
^
../src/bcrypt_node.cc:247:17: error: calling a protected constructor of class 'v8::HandleScope'
HandleScope scope;
^
/Users/Cody/.node-gyp/0.12.0/deps/v8/include/v8.h:816:13: note: declared protected here
V8_INLINE HandleScope() {}
^
../src/bcrypt_node.cc:249:32: error: type 'const v8::internal::Arguments' does not provide a subscript operator
const ssize_t rounds = args[0]->Int32Value();
~~~~^~
../src/bcrypt_node.cc:250:30: error: type 'const v8::internal::Arguments' does not provide a subscript operator
const int rand_len = args[1]->Int32Value();
~~~~^~
../src/bcrypt_node.cc:251:58: error: type 'const v8::internal::Arguments' does not provide a subscript operator
Local<Function> callback = Local<Function>::Cast(args[2]);
~~~~^~
../src/bcrypt_node.cc:255:45: error: 'New' is a private member of 'v8::PersistentBase<v8::Function>'
baton->callback = Persistent<Function>::New(callback);
^
/Users/Cody/.node-gyp/0.12.0/deps/v8/include/v8.h:572:23: note: declared private here
V8_INLINE static T* New(Isolate* isolate, T* that);
^
../src/bcrypt_node.cc:255:57: error: too few arguments to function call, expected 2, have 1
baton->callback = Persistent<Function>::New(callback);
~~~~~~~~~~~~~~~~~~~~~~~~~ ^
/Users/Cody/.node-gyp/0.12.0/deps/v8/include/v8.h:572:3: note: 'New' declared here
V8_INLINE static T* New(Isolate* isolate, T* that);
^
/Users/Cody/.node-gyp/0.12.0/deps/v8/include/v8config.h:289:20: note: expanded from macro 'V8_INLINE'
# define V8_INLINE inline __attribute__((always_inline))
^
../src/bcrypt_node.cc:259:5: error: unknown type name 'uv_work_t'
uv_work_t* req = new uv_work_t;
^
../src/bcrypt_node.cc:259:26: error: unknown type name 'uv_work_t'
uv_work_t* req = new uv_work_t;
^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
make: *** [Release/obj.target/bcrypt_lib/src/bcrypt_node.o] Error 1
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:267:23)
gyp ERR! stack at ChildProcess.emit (events.js:110:17)
gyp ERR! stack at Process.ChildProcess._handle.onexit (child_process.js:1067:12)
gyp ERR! System Darwin 13.4.0
gyp ERR! command "node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Applications/MAMP/htdocs/richintime/ultimate-seed/node_modules/bcrypt
gyp ERR! node -v v0.12.0
gyp ERR! node-gyp -v v1.0.2
gyp ERR! not ok
npm ERR! Darwin 13.4.0
npm ERR! argv "node" "/usr/local/bin/npm" "install" "bcrypt"
npm ERR! node v0.12.0
npm ERR! npm v2.7.1
npm ERR! code ELIFECYCLE
npm ERR! bcrypt@0.7.7 install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the bcrypt@0.7.7 install script 'node-gyp rebuild'.
npm ERR! This is most likely a problem with the bcrypt package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node-gyp rebuild
para windows instale el siguiente módulo
luego intenta instalar
fuente
python
ejecutable a su variable de entorno PATH , para que el instalador lo encuentre, parezca que lo necesita para ejecutar la instalación correctamente.windows-build-tools
termine la instalación. Gracias por esta respuesta por ciertoEn este comando:
Es posible que deba ejecutar esto en Powershell como administrador en su máquina Windows.
Para hacerlo, haga clic con el botón derecho en Powershell y seleccione "Ejecutar como administrador"
fuente
La solución aceptada funciona, pero bcryptjs es más lento que la versión de python y c ++.
Si aún desea bcrypt en el lugar de la solución de trabajo de bcryptjs, se encuentra el comando a continuación, pero también pueden tener problemas.
En Windows, el segundo comando intentará instalar Visual Studio junto con Python y, por lo tanto, surge el problema. porque ¿por qué querríamos instalar Visual Studio y nos lleva mucho tiempo? y también dificulta la instalación de Python. Y si olvida ejecutar esos comandos como administrador, se instalarán en C: \ Users \ User.windows-build-tools que además no funcionarán porque el nodo buscará python en C: \ o C: \ Archivos de programa \ . Por lo tanto, estos comandos en algunos casos aumentan sus complicaciones.
Entonces, la mejor idea para usted es ✔️instalar python manualmente para todos los usuarios y no es necesario agregar Python a la ruta del entorno. Y ejecute solo el primer comando, es decir
Ahora está listo para instalar bcrypt
fuente
En Mac OS, después de una actualización de Xcode, ¡ejecutar
sudo gcc
y aceptar la nueva licencia de Xcode resolvió el problema!fuente
Ejecuté lo siguiente, luego probé la instalación y funcionó:
fuente
Estaba enfrentando el mismo problema en el lado del servidor (aws ubuntu 16.04).
Intenté eliminar node_module / bcrypt
sudo rm -rf node_module/bcrypt
varias veces y lo reinstalé una y otra vez de varias maneras, pero aún enfrentando el mismo problema.Verifiqué la versión del nodo con nvm y también se mostraba estable (v10.11.0).
Finalmente lo intenté.
Y funcionó para mí.
fuente
Si está en Windows, ejecute PowerShell como administrador y use estos comandos.
y luego instale bcrypt usando
fuente
Yo también estaba teniendo el mismo problema. Los siguientes comandos me ayudaron.
entonces
fuente
Motivo del error : es posible que el nodo no pueda encontrar la ruta de Python en su sistema
Solución
paso: 1 símbolo del sistema de Rum como administrador paso 2 Instalar el paquete
npm install --global --production windows-build-tools
Puede llevar algún tiempo, ten paciencia
paso 3 Ahora instale
Último paso Ahora está listo para comenzar
fuente
Me las arreglé para resolver esto ejecutando el comando:
sudo apt-get install -y build-essential python
y luegoyarn add bcrypt
.Puedes encontrar las instrucciones aquí:
https://github.com/kelektiv/node.bcrypt.js/wiki/Installation-Instructions
https://github.com/kelektiv/node.bcrypt.js
fuente
Actualice a [email protected]
npm i [email protected]
No recibo errores en esta versión más nueva de bcrypt, la versión anterior dio diferentes tipos de errores que van desde no poder instalar bcrypt hasta errores de tipo mecanografiado
fuente
Si alguno de los anteriores no funciona, haga:
Luego visite el sitio oficial de descarga de Python Enlace de descarga oficial de Python
Instale la última versión de Python, asegúrese de marcar agregar Python a la ruta
Después de la instalación, haga lo siguiente:
fuente
Instalé bcrypt-nodejs aunque ya está en desuso, y luego lo eliminé e instalé bcrypt nuevamente. Así, instalé bcrypt correctamente y funcionó bien.
fuente
Corriendo
instala todas las herramientas necesarias para instalar bcrypt en Linux. Entonces puedes correr
fuente
Tenía la versión 12.18.3 del nodo y lo arreglé ejecutando
npm i [email protected]
fuente
Tuvo el mismo problema. Actualizando npm y vuelva a intentarlo (normalmente, npm install -g npm). Me solucionó el problema.
fuente