2016-10-02 14 views
0

Я просматриваю раздел HAPI js tutorial (http://hapijs.com/tutorials/auth?lang=en_US), который требует «bcrypt». Поэтому я сделал «npm install» .. Bcrypt --save»Но это дает ошибки узла Gyp как PHP не хватает Так что я следовал инструкциям, приведенным здесь: https://github.com/nodejs/node-gyp#installation«CL.exe» вышел с кодом -1073741511, для «npm install bcrypt --save»

Я даже сделал: НПМ установить --global --production окна-сборки-инструменты

Но теперь он бросает ошибку:

"cl.exe" завершился с кодом -1073741511

Я установил все, что они просили, но это не позволяет установить bcrypt. Что я делаю?

Как просто учебное упражнение заняло у меня 2 дня исследований без какого-либо решения. Зачем использовать такие связанные с зависимостями пакеты в вашем учебнике?

Это реальный лог консоли я получаю делать НПМ установки Bcrypt:

m WARN package.json [email protected] No README data 

[email protected] install D:\learn\personal_assistant\server\node_modules\bcrypt 
node-gyp rebuild 


\learn\personal_assistant\server\node_modules\bcrypt>if not defined npm_config_node_gyp (node "C:\Program Files\nodejs\node_modules\npm\bin\node-gyp-bin\\..\ 
\node_modules\node-gyp\bin\node-gyp.js" rebuild) else (node "" rebuild) 
ilding the projects in this solution one at a time. To enable parallel build, please add the "/m" switch. 
\Program Files\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets(356,5): error MSB6006: "CL.exe" exited with code -1073741511. [D:\learn\personal_ 
sistant\server\node_modules\bcrypt\build\bcrypt_lib.vcxproj] 
p ERR! build error 
p ERR! stack Error: `C:\Program Files\MSBuild\14.0\bin\msbuild.exe` failed with exit code: 1 
p ERR! stack  at ChildProcess.onExit (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\build.js:276:23) 
p ERR! stack  at emitTwo (events.js:87:13) 
p ERR! stack  at ChildProcess.emit (events.js:172:7) 
p ERR! stack  at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12) 
p ERR! System Windows_NT 6.1.7600 
p ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" 
p ERR! cwd D:\learn\personal_assistant\server\node_modules\bcrypt 
p ERR! node -v v4.5.0 
p ERR! node-gyp -v v3.4.0 
p ERR! not ok 
m ERR! Windows_NT 6.1.7600 
m ERR! argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "bcrypt" "--save" 
m ERR! node v4.5.0 
m ERR! npm v2.15.9 
m ERR! code ELIFECYCLE 

m ERR! [email protected] install: `node-gyp rebuild` 
m ERR! Exit status 1 
m ERR! 
m ERR! Failed at the [email protected] install script 'node-gyp rebuild'. 
m ERR! This is most likely a problem with the bcrypt package, 
m ERR! not with npm itself. 
m ERR! Tell the author that this fails on your system: 
m ERR!  node-gyp rebuild 
m ERR! You can get information on how to open an issue for this project with: 
m ERR!  npm bugs bcrypt 
m ERR! Or if that isn't available, you can get their info via: 
m ERR! 
m ERR!  npm owner ls bcrypt 
m ERR! There is likely additional logging output above. 

m ERR! Please include the following file with any support request: 
m ERR!  D:\learn\personal_assistant\server\npm-debug.log 

ответ

0

Код ошибки -1073741511 переводится 0xC0000139, который, по-видимому «DLL не найден».

Это заставляет меня думать, что что-то не так с вашей связующей конструкцией C++, которая требуется для создания собственных битов библиотеки bcrypt.

Я знаю, что это не поможет слишком много, но это работает на моей машине:

C:\Users\X\Desktop\xx>npm i --save bcrypt 
npm info it worked if it ends with ok 
npm info using [email protected] 
npm info using [email protected] 
npm info ok 
npm info it worked if it ends with ok 
npm info using [email protected] 
npm info using [email protected] 

> [email protected] install C:\Users\X\Desktop\xx\node_modules\bcrypt 
> node-gyp rebuild 

C:\Users\X\Desktop\xx\node_modules\bcrypt>if not defined npm_config_node_gyp (node "C:\Users\X\AppData\Roaming\npm\node_modules\npm\bin\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild) else (node rebuild) 
gyp info it worked if it ends with ok 
gyp info using [email protected] 
gyp info using [email protected] | win32 | x64 
gyp http GET https://nodejs.org/download/release/v6.1.0/node-v6.1.0-headers.tar.gz 
gyp http 200 https://nodejs.org/download/release/v6.1.0/node-v6.1.0-headers.tar.gz 
gyp http GET https://nodejs.org/download/release/v6.1.0/SHASUMS256.txt 
gyp http GET https://nodejs.org/download/release/v6.1.0/win-x86/node.lib 
gyp http GET https://nodejs.org/download/release/v6.1.0/win-x64/node.lib 
gyp http 200 https://nodejs.org/download/release/v6.1.0/win-x86/node.lib 
gyp http 200 https://nodejs.org/download/release/v6.1.0/SHASUMS256.txt 
gyp http 200 https://nodejs.org/download/release/v6.1.0/win-x64/node.lib 
gyp info spawn python 
gyp info spawn args [ 'C:\\Users\\X\\AppData\\Roaming\\npm\\node_modules\\npm\\node_modules\\node-gyp\\gyp\\gyp_main.py', 
gyp info spawn args 'binding.gyp', 
gyp info spawn args '-f', 
gyp info spawn args 'msvs', 
gyp info spawn args '-G', 
gyp info spawn args 'msvs_version=auto', 
gyp info spawn args '-I', 
gyp info spawn args 'C:\\Users\\X\\Desktop\\xx\\node_modules\\bcrypt\\build\\config.gypi', 
gyp info spawn args '-I', 
gyp info spawn args 'C:\\Users\\X\\AppData\\Roaming\\npm\\node_modules\\npm\\node_modules\\node-gyp\\addon.gypi', 
gyp info spawn args '-I', 
gyp info spawn args 'C:\\Users\\X\\.node-gyp\\6.1.0\\include\\node\\common.gypi', 
gyp info spawn args '-Dlibrary=shared_library', 
gyp info spawn args '-Dvisibility=default', 
gyp info spawn args '-Dnode_root_dir=C:\\Users\\X\\.node-gyp\\6.1.0', 
gyp info spawn args '-Dnode_gyp_dir=C:\\Users\\X\\AppData\\Roaming\\npm\\node_modules\\npm\\node_modules\\node-gyp', 
gyp info spawn args '-Dnode_lib_file=node.lib', 
gyp info spawn args '-Dmodule_root_dir=C:\\Users\\X\\Desktop\\xx\\node_modules\\bcrypt', 
gyp info spawn args '--depth=.', 
gyp info spawn args '--no-parallel', 
gyp info spawn args '--generator-output', 
gyp info spawn args 'C:\\Users\\X\\Desktop\\xx\\node_modules\\bcrypt\\build', 
gyp info spawn args '-Goutput_dir=.' ] 
gyp info spawn C:\Program Files (x86)\MSBuild\12.0\bin\msbuild.exe 
gyp info spawn args [ 'build/binding.sln', 
gyp info spawn args '/clp:Verbosity=minimal', 
gyp info spawn args '/nologo', 
gyp info spawn args '/p:Configuration=Release;Platform=x64' ] 
Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch. 
    blowfish.cc 
    bcrypt.cc 
    bcrypt_node.cc 
..\src\bcrypt.cc(232): warning C4267: '=' : conversion from 'size_t' to 'unsigned char', possible loss of data [C:\Users\X\Desktop\xx\node_modules\bcrypt\build\bcrypt_lib.vcxproj] 
..\src\bcrypt_node.cc(76): warning C4244: 'argument' : conversion from 'ssize_t' to 'unsigned char', possible loss of data [C:\Users\X\Desktop\xx\node_modules\bcrypt\build\bcrypt_lib .vcxproj] 
..\src\bcrypt_node.cc(229): warning C4267: 'initializing' : conversion from 'size_t' to 'int', possible loss of data [C:\Users\X\Desktop\xx\node_modules\bcrypt\build\bcrypt_lib.vcxpr oj] 
..\src\bcrypt_node.cc(230): warning C4267: 'initializing' : conversion from 'size_t' to 'int', possible loss of data [C:\Users\X\Desktop\xx\node_modules\bcrypt\build\bcrypt_lib.vcxpr oj] 
    win_delay_load_hook.c 
    Creating library C:\Users\X\Desktop\xx\node_modules\bcrypt\build\Release\bcrypt_lib.lib and object C:\Users\X\Desktop\xx\node_modules\bcrypt\build\Release\bcrypt_lib.exp 
    Generating code 
    Finished generating code 
    bcrypt_lib.vcxproj -> C:\Users\X\Desktop\xx\node_modules\bcrypt\build\Release\\bcrypt_lib.node 
gyp info ok 
npm info lifecycle [email protected]~postinstall: [email protected] 
npm info lifecycle [email protected]~postinstall: [email protected] 
npm info lifecycle [email protected]~postinstall: [email protected] 
npm WARN saveError ENOENT: no such file or directory, open 'C:\Users\X\Desktop\xx\package.json' 
C:\Users\X\Desktop\xx 
└─┬ [email protected] 
    ├── [email protected] 
    └── [email protected] 

npm info ok 

C:\Users\X\Desktop\xx> 

Что касается вашего вопроса,

Зачем использовать такую ​​зависимость, управляемые пакеты в вашем учебнике?

- это только путь к миру Node.js/NPM. Множество небольших пакетов, которые делают одну вещь (и, предположительно, делают это хорошо, хотя это не всегда так) ...

+0

Итак, какую DLL мне нужно установить? – jackOfAll

+0

Я не могу сказать - все, что я могу догадаться, заключается в том, что ваша установка Visual Studio каким-то образом закрыта. Однако если вы установили https://github.com/felixrieseberg/windows-build-tools, ваш npm/gyp не будет их использовать, поскольку пути в журнале, который вы опубликовали, не ссылаются на '.windows-build-tools'. .. – AKX

+0

Хорошо .. Спасибо. Итак, как я использую их npm/gyp? – jackOfAll