Я не могу установить bcrypt
using npm
на моем компьютере из-за следующих ошибок. Я без особого успеха устранял проблему. Можете ли вы порекомендовать какие-либо шаги для диагностики или устранения проблемы, чтобы я мог npm install bcrypt
успешно работать ?
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
для windows установите следующий модуль
затем попробуйте установить
источник
python
исполняемый файл в переменную окружения PATH , чтобы программа установки нашла его, казалось, он нужен для правильного выполнения установки.windows-build-tools
завершить установку. Кстати, спасибо за этот ответПо этой команде:
Возможно, вам придется запустить это в Powershell от имени администратора на вашем компьютере с Windows.
Для этого щелкните правой кнопкой мыши Powershell и выберите «Запуск от имени администратора».
источник
Принятое решение работает, но bcryptjs медленнее, чем версия на Python и С ++.
Если вы все еще хотите, чтобы bcrypt инсталлировал рабочее решение bcryptjs, это команда ниже, но у них также могут быть проблемы.
В Windows вторая команда попытается установить визуальную студию вместе с python, и, следовательно, возникает проблема. потому что нам зачем устанавливать Visual Studio, а это занимает много времени. а также мешает установке питона. И если вы забудете запустить эту команду в качестве администратора, они будут установлены в C: \ Users \ User.windows-build-tools, что в дальнейшем не будет работать, потому что node будет искать python в C: \ или C: \ Program Files \ . Следовательно, эти команды в некоторых случаях увеличивают ваши сложности.
Итак, лучшая идея для вас - ✔️установить python вручную для всех пользователей, и нет необходимости добавлять python в путь к среде. И запустите только первую команду, т.е.
Теперь вы готовы к установке bcrypt
источник
В Mac OS после обновления Xcode запуск
sudo gcc
и принятие новой лицензии Xcode решили проблему!источник
Я просто запустил следующее, затем попробовал установить, и это сработало:
источник
Я столкнулся с той же проблемой на стороне сервера (aws ubuntu 16.04).
Я
sudo rm -rf node_module/bcrypt
несколько раз пытался удалить node_module / bcrypt и переустанавливал его снова и снова разными способами, но все еще сталкивался с той же проблемой.Я проверил версию узла с помощью nvm, и она также показала стабильную (v10.11.0).
Наконец, я попробовал.
и это сработало для меня.
источник
Если вы работаете в Windows, запустите PowerShell от имени администратора и используйте эти команды.
а затем установите bcrypt, используя
источник
У меня тоже была такая же проблема. Мне помогли следующие команды.
тогда
источник
Причина ошибки : возможно, узел не может найти путь Python в вашей системе
Решение
шаг: 1 Командная строка Rum от имени администратора шаг 2 Установите пакет
npm install --global --production windows-build-tools
Это может занять некоторое время, наберитесь терпения
шаг 3 Теперь установите
Последний шаг Теперь вы готовы к работе
источник
Мне удалось решить эту проблему, выполнив команду:
sudo apt-get install -y build-essential python
а затемyarn add bcrypt
.Вы можете найти инструкции здесь:
https://github.com/kelektiv/node.bcrypt.js/wiki/Installation-Instructions
https://github.com/kelektiv/node.bcrypt.js
источник
Обновление до bcrypt@5.0.0
npm i bcrypt@5.0.0
Я не получаю ошибок в этой новой версии bcrypt, более старая версия выдает различные типы ошибок, начиная от невозможности установить bcrypt и заканчивая ошибками типа машинописного текста
источник
если что-либо из вышеперечисленного не работает, выполните:
После этого посетите официальный сайт загрузки Python Официальная ссылка для загрузки Python
Установите последнюю версию python, обязательно отметьте добавление python в путь
После установки сделать:
источник
Я установил bcrypt-nodejs, хотя он уже устарел, а затем удалил его и снова установил bcrypt. Таким образом, я успешно установил bcrypt, и он работал нормально.
источник
Бег
устанавливает все инструменты, необходимые для установки bcrypt в Linux. Тогда ты можешь бежать
источник
У меня была версия узла 12.18.3, и я исправил то же самое, запустив
npm i bcrypt@3.0.6
источник
Была такая же проблема. Обновите npm и попробуйте еще раз (обычно npm install -g npm). Это решает проблему для меня.
источник