环境
- Windows 10
- Node 12.22.12
- Vs2019
问题
前不久使用truffle框架学习cryptozombies,安装truffle遇到报错,当时已经解决了(传送门)。
今天发现当时忘了安装loom-js,于是进行安装,结果遇到报错:
PS G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle> npm i loom-js -S
npm WARN deprecated axios@0.18.1: Critical security vulnerability fixed in v0.21.1. For more information, see https://github.com/axios/axios/pull/3410
npm WARN deprecated ethereumjs-tx@1.3.7: New package name format for new versions: @ethereumjs/tx. Please update.
npm WARN deprecated uuid@3.4.0: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.
npm WARN deprecated circular-json@0.5.9: CircularJSON is in maintenance only, flatted is its successor.
npm WARN deprecated core-js@2.6.12: core-js@<3.4 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Please, upgrade your dependencies to the actual version of core-js.
npm WARN deprecated axios@0.19.2: Critical security vulnerability fixed in v0.21.1. For more information, see https://github.com/axios/axios/pull/3410
npm WARN deprecated fs-promise@2.0.3: Use mz or fs-extra^3.0 with Promise Support
npm WARN deprecated tar.gz@1.0.7: ⚠️ WARNING ⚠️ tar.gz module has been deprecated and your application is vulnerable. Please use tar module instead: https://npmjs.com/tar
npm WARN deprecated tar@2.2.2: This version of tar is no longer supported, and will not receive security updates. Please upgrade asap.
npm ERR! D:\Program Files\Git\cmd\git.EXE ls-remote -h -t git://github.com/frozeman/WebSocket-Node.git
npm ERR!
npm ERR! fatal: unable to connect to github.com:
npm ERR! github.com[0: 127.0.0.1]: errno=Unknown error
npm ERR!
npm ERR!
npm ERR! exited with error code: 128
npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\admin\AppData\Roaming\npm-cache\_logs\2022-06-02T03_08_10_490Z-debug.log
这个报错很简单,npm ERR! github.com[0: 127.0.0.1]: errno=Unknown error
,127.0.0.1明显是我使用的代理,而访问git://github.com/frozeman/WebSocket-Node.git
失败了,那是因为我设置的是http和https的代理,只要改为使用https即可。
先看看原本的设置:
PS G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle> git config -l --global
credential.https://gitee.com.provider=generic
http.https://github.com.proxy=socks5://127.0.0.1:10808
https.https://github.com.proxy=socks5://127.0.0.1:10808
再添加下述配置即可:
PS G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle> git config --global url."https://".insteadOf git://
再重新安装,还是报错了
PS G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle> npm i loom-js -S
npm WARN deprecated axios@0.18.1: Critical security vulnerability fixed in v0.21.1. For more information, see https://github.com/axios/axios/pull/3410
npm WARN deprecated ethereumjs-tx@1.3.7: New package name format for new versions: @ethereumjs/tx. Please update.
npm WARN deprecated uuid@3.4.0: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.
npm WARN deprecated circular-json@0.5.9: CircularJSON is in maintenance only, flatted is its successor.
npm WARN deprecated core-js@2.6.12: core-js@<3.4 is no longer maintained and not recommended for
usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Please, upgrade your dependencies to the actual version of core-js.
npm WARN deprecated axios@0.19.2: Critical security vulnerability fixed in v0.21.1. For more information, see https://github.com/axios/axios/pull/3410
npm WARN deprecated tar.gz@1.0.7: ⚠️ WARNING ⚠️ tar.gz module has been deprecated and your appli
cation is vulnerable. Please use tar module instead: https://npmjs.com/tar
npm WARN deprecated fs-promise@2.0.3: Use mz or fs-extra^3.0 with Promise Support
npm WARN deprecated tar@2.2.2: This version of tar is no longer supported, and will not receive security updates. Please upgrade asap.
npm WARN deprecated uuid@2.0.1: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.
npm WARN deprecated multicodec@3.2.1: This module has been superseded by the multiformats module
npm WARN deprecated multibase@4.0.6: This module has been superseded by the multiformats module
> scrypt@6.0.3 preinstall G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt
> node node-scrypt-preinstall.js
> websocket@1.0.26 install G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\loom-js\node_modules\websocket
> (node-gyp rebuild 2> builderror.log) || (exit 0)
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\loom-js\node_modules\websocket>if not defined npm_config_node_gyp (node "C:\Users\admin\AppData\Local\nvs\node\12.22.12\x64\node_modules\npm\node_modules\npm-lifecycle\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild ) else (node "C:\Users\admin\AppData\Local\nvs\node\12.22.12\x64\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js" rebuild )
在此解决方案中一次生成一个项目。若要启用并行生成,请添加“-m”开关。
bufferutil.cc
win_delay_load_hook.cc
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\loom-js\node_modules\websocket
\src\bufferutil.cc(26,30): error C2039: "Handle": 不是 "v8" 的成员 [G:\tgit\eth\cryptozombiestrial\or
acle\EthPriceOracle\node_modules\loom-js\node_modules\websocket\build\bufferutil.vcxproj]
C:\Users\admin\AppData\Local\node-gyp\Cache\12.22.12\include\node\v8-platform.h(16): message : 参
见“v8”的声明 [G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\loom-js\node_modules
\websocket\build\bufferutil.vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\loom-js\node_modules\websocket
\src\bufferutil.cc(26,36): error C2061: 语法错误: 标识符“Handle” [G:\tgit\eth\cryptozombiestrial\oracle
\EthPriceOracle\node_modules\loom-js\node_modules\websocket\build\bufferutil.vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\loom-js\node_modules\websocket
\src\bufferutil.cc(34,14): error C2065: “target”: 未声明的标识符 [G:\tgit\eth\cryptozombiestrial\oracle
\EthPriceOracle\node_modules\loom-js\node_modules\websocket\build\bufferutil.vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\loom-js\node_modules\websocket
\src\bufferutil.cc(34,1): error C2660: “v8::FunctionTemplate::GetFunction”: 函数不接受 0 个参数 [G:\tgit
\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\loom-js\node_modules\websocket\build\
bufferutil.vcxproj]
C:\Users\admin\AppData\Local\node-gyp\Cache\12.22.12\include\node\v8.h(6126,46): message : 参见“v8
::FunctionTemplate::GetFunction”的声明 (编译源文件 ..\src\bufferutil.cc) [G:\tgit\eth\cryptozombiestrial
\oracle\EthPriceOracle\node_modules\loom-js\node_modules\websocket\build\bufferutil.vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\loom-js\node_modules\websocket
\src\bufferutil.cc(50,1): error C2661: “v8::Value::ToObject”: 没有重载函数接受 0 个参数 [G:\tgit\eth\crypto
zombiestrial\oracle\EthPriceOracle\node_modules\loom-js\node_modules\websocket\build\bufferutil.
vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\loom-js\node_modules\websocket
\src\bufferutil.cc(57,1): error C2661: “v8::Value::ToObject”: 没有重载函数接受 0 个参数 [G:\tgit\eth\crypto
zombiestrial\oracle\EthPriceOracle\node_modules\loom-js\node_modules\websocket\build\bufferutil.
vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\loom-js\node_modules\websocket
\src\bufferutil.cc(68,1): error C2661: “v8::Value::ToObject”: 没有重载函数接受 0 个参数 [G:\tgit\eth\crypto
zombiestrial\oracle\EthPriceOracle\node_modules\loom-js\node_modules\websocket\build\bufferutil.
vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\loom-js\node_modules\websocket
\src\bufferutil.cc(70,1): error C2661: “v8::Value::ToObject”: 没有重载函数接受 0 个参数 [G:\tgit\eth\crypto
zombiestrial\oracle\EthPriceOracle\node_modules\loom-js\node_modules\websocket\build\bufferutil.
vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\loom-js\node_modules\websocket
\src\bufferutil.cc(89,1): error C2661: “v8::Value::ToObject”: 没有重载函数接受 0 个参数 [G:\tgit\eth\crypto
zombiestrial\oracle\EthPriceOracle\node_modules\loom-js\node_modules\websocket\build\bufferutil.
vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\loom-js\node_modules\websocket
\src\bufferutil.cc(90,1): error C2661: “v8::Value::ToObject”: 没有重载函数接受 0 个参数 [G:\tgit\eth\crypto
zombiestrial\oracle\EthPriceOracle\node_modules\loom-js\node_modules\websocket\build\bufferutil.
vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\loom-js\node_modules\websocket
\src\bufferutil.cc(92,1): error C2661: “v8::Value::ToObject”: 没有重载函数接受 0 个参数 [G:\tgit\eth\crypto
zombiestrial\oracle\EthPriceOracle\node_modules\loom-js\node_modules\websocket\build\bufferutil.
vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\loom-js\node_modules\websocket
\src\bufferutil.cc(93,1): error C2660: “v8::Value::Int32Value”: 函数不接受 0 个参数 [G:\tgit\eth\cryptoz
ombiestrial\oracle\EthPriceOracle\node_modules\loom-js\node_modules\websocket\build\bufferutil.v
cxproj]
C:\Users\admin\AppData\Local\node-gyp\Cache\12.22.12\include\node\v8.h(2709,40): message : 参见“v8
::Value::Int32Value”的声明 (编译源文件 ..\src\bufferutil.cc) [G:\tgit\eth\cryptozombiestrial\oracle\EthP
riceOracle\node_modules\loom-js\node_modules\websocket\build\bufferutil.vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\loom-js\node_modules\websocket
\src\bufferutil.cc(94,1): error C2660: “v8::Value::Int32Value”: 函数不接受 0 个参数 [G:\tgit\eth\cryptoz
ombiestrial\oracle\EthPriceOracle\node_modules\loom-js\node_modules\websocket\build\bufferutil.v
cxproj]
C:\Users\admin\AppData\Local\node-gyp\Cache\12.22.12\include\node\v8.h(2709,40): message : 参见“v8
::Value::Int32Value”的声明 (编译源文件 ..\src\bufferutil.cc) [G:\tgit\eth\cryptozombiestrial\oracle\EthP
riceOracle\node_modules\loom-js\node_modules\websocket\build\bufferutil.vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\loom-js\node_modules\websocket
\src\bufferutil.cc(115,12): error C2065: “Handle”: 未声明的标识符 [G:\tgit\eth\cryptozombiestrial\oracl
e\EthPriceOracle\node_modules\loom-js\node_modules\websocket\build\bufferutil.vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\loom-js\node_modules\websocket
\src\bufferutil.cc(115,19): error C2275: “v8::Object”: 将此类型用作表达式非法 [G:\tgit\eth\cryptozombiestri
al\oracle\EthPriceOracle\node_modules\loom-js\node_modules\websocket\build\bufferutil.vcxproj]
C:\Users\admin\AppData\Local\node-gyp\Cache\12.22.12\include\node\v8.h(3496): message : 参见“v8::O
bject”的声明 [G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\loom-js\node_module
s\websocket\build\bufferutil.vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\loom-js\node_modules\websocket
\src\bufferutil.cc(115,27): error C2065: “target”: 未声明的标识符 [G:\tgit\eth\cryptozombiestrial\oracl
e\EthPriceOracle\node_modules\loom-js\node_modules\websocket\build\bufferutil.vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\loom-js\node_modules\websocket
\src\bufferutil.cc(115,6): error C2182: “init”: 非法使用“void”类型 [G:\tgit\eth\cryptozombiestrial\ora
cle\EthPriceOracle\node_modules\loom-js\node_modules\websocket\build\bufferutil.vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\loom-js\node_modules\websocket
\src\bufferutil.cc(116,1): error C2143: 语法错误: 缺少“;”(在“{”的前面) [G:\tgit\eth\cryptozombiestrial\ora
cle\EthPriceOracle\node_modules\loom-js\node_modules\websocket\build\bufferutil.vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\loom-js\node_modules\websocket
\src\bufferutil.cc(116,1): error C2447: “{”: 缺少函数标题(是否是老式的形式表?) [G:\tgit\eth\cryptozombiestrial\
oracle\EthPriceOracle\node_modules\loom-js\node_modules\websocket\build\bufferutil.vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\loom-js\node_modules\websocket
\src\bufferutil.cc(121,1): warning C4312: “类型强制转换”: 从“int”转换到更大的“node::addon_register_func” [G:\
tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\loom-js\node_modules\websocket\bu
ild\bufferutil.vcxproj]
validation.cc
win_delay_load_hook.cc
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\loom-js\node_modules\websocket
\src\validation.cc(108,30): error C2039: "Handle": 不是 "v8" 的成员 [G:\tgit\eth\cryptozombiestrial\o
racle\EthPriceOracle\node_modules\loom-js\node_modules\websocket\build\validation.vcxproj]
C:\Users\admin\AppData\Local\node-gyp\Cache\12.22.12\include\node\v8-platform.h(16): message : 参
见“v8”的声明 [G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\loom-js\node_modules
\websocket\build\validation.vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\loom-js\node_modules\websocket
\src\validation.cc(108,36): error C2061: 语法错误: 标识符“Handle” [G:\tgit\eth\cryptozombiestrial\oracl
e\EthPriceOracle\node_modules\loom-js\node_modules\websocket\build\validation.vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\loom-js\node_modules\websocket
\src\validation.cc(114,14): error C2065: “target”: 未声明的标识符 [G:\tgit\eth\cryptozombiestrial\oracl
e\EthPriceOracle\node_modules\loom-js\node_modules\websocket\build\validation.vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\loom-js\node_modules\websocket
\src\validation.cc(114,1): error C2660: “v8::FunctionTemplate::GetFunction”: 函数不接受 0 个参数 [G:\tgi
t\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\loom-js\node_modules\websocket\build
\validation.vcxproj]
C:\Users\admin\AppData\Local\node-gyp\Cache\12.22.12\include\node\v8.h(6126,46): message : 参见“v8
::FunctionTemplate::GetFunction”的声明 (编译源文件 ..\src\validation.cc) [G:\tgit\eth\cryptozombiestrial
\oracle\EthPriceOracle\node_modules\loom-js\node_modules\websocket\build\validation.vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\loom-js\node_modules\websocket
\src\validation.cc(133,1): error C2661: “v8::Value::ToObject”: 没有重载函数接受 0 个参数 [G:\tgit\eth\crypt
ozombiestrial\oracle\EthPriceOracle\node_modules\loom-js\node_modules\websocket\build\validation
.vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\loom-js\node_modules\websocket
\src\validation.cc(142,12): error C2065: “Handle”: 未声明的标识符 [G:\tgit\eth\cryptozombiestrial\oracl
e\EthPriceOracle\node_modules\loom-js\node_modules\websocket\build\validation.vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\loom-js\node_modules\websocket
\src\validation.cc(142,19): error C2275: “v8::Object”: 将此类型用作表达式非法 [G:\tgit\eth\cryptozombiestri
al\oracle\EthPriceOracle\node_modules\loom-js\node_modules\websocket\build\validation.vcxproj]
C:\Users\admin\AppData\Local\node-gyp\Cache\12.22.12\include\node\v8.h(3496): message : 参见“v8::O
bject”的声明 [G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\loom-js\node_module
s\websocket\build\validation.vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\loom-js\node_modules\websocket
\src\validation.cc(142,27): error C2065: “target”: 未声明的标识符 [G:\tgit\eth\cryptozombiestrial\oracl
e\EthPriceOracle\node_modules\loom-js\node_modules\websocket\build\validation.vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\loom-js\node_modules\websocket
\src\validation.cc(142,6): error C2182: “init”: 非法使用“void”类型 [G:\tgit\eth\cryptozombiestrial\ora
cle\EthPriceOracle\node_modules\loom-js\node_modules\websocket\build\validation.vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\loom-js\node_modules\websocket
\src\validation.cc(143,1): error C2143: 语法错误: 缺少“;”(在“{”的前面) [G:\tgit\eth\cryptozombiestrial\ora
cle\EthPriceOracle\node_modules\loom-js\node_modules\websocket\build\validation.vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\loom-js\node_modules\websocket
\src\validation.cc(143,1): error C2447: “{”: 缺少函数标题(是否是老式的形式表?) [G:\tgit\eth\cryptozombiestrial\
oracle\EthPriceOracle\node_modules\loom-js\node_modules\websocket\build\validation.vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\loom-js\node_modules\websocket
\src\validation.cc(148,1): warning C4312: “类型强制转换”: 从“int”转换到更大的“node::addon_register_func” [G:\
tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\loom-js\node_modules\websocket\bu
ild\validation.vcxproj]
> scrypt@6.0.3 install G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt
> node-gyp rebuild
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt>if not defined npm_config_node_gyp (node "C:\Users\admin\AppData\Local\nvs\node\12.22.12\x64\node_modules\npm\node_modules\npm-lifecycle\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild ) else (node "C:\Users\admin\AppData\Local\nvs\node\12.22.12\x64\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js" rebuild )
Warning: Missing input files:
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\build\..\scrypt\win\include\config.h
在此解决方案中一次生成一个项目。若要启用并行生成,请添加“-m”开关。
Copying scrypt/win/include/config.h to scrypt/scrypt-1.2.0/config.h
系统找不到指定的文件。
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(241,5): warning MSB8064: 项“..\scrypt\win\include\config.h”的自定义生成成功,但指定的依赖项“g:\tgit\eth\cryptozombiestrial\or
acle\ethpriceoracle\node_modules\scrypt\scrypt\win\include\config.h”不存在。这可能会导致增量生成无法正常工作。 [G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\build\copied_files.vcxproj]
win_delay_load_hook.cc
copied_files.vcxproj -> G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\build\Release\\copied_files.node
memlimit.c
keyderivation.c
pickparams.c
hash.c
win_delay_load_hook.cc
scrypt_wrapper.vcxproj -> G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\build\Release\\scrypt_wrapper.lib
crypto_scrypt.c
crypto_scrypt_smix.c
warnp.c
sha256.c
insecure_memzero.c
scryptenc_cpuperf.c
mman.c
gettimeofday.c
win_delay_load_hook.cc
scrypt_lib.vcxproj -> G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\build\Release\\scrypt_lib.lib
scrypt_common.cc
scrypt_params_async.cc
scrypt_params_sync.cc
scrypt_kdf_async.cc
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\src\node-boilerplate\inc\scrypt_common.h(39,1): error C2660: “v8::Value::Uint32Value”: 函数不接受 0 个参数 (编译源文件 ..\src\node-boilerplate\scrypt_params_async.c
c) [G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\build\scrypt.vcxproj]
C:\Users\admin\AppData\Local\node-gyp\Cache\12.22.12\include\node\v8.h(2707,41): message : 参见“v8::Value::Uint32Value”的声明 (编译源文件 ..\src\node-boilerplate\scrypt_params_async.cc) [G:\tgit\eth\cryptozombiestrial\oracle\EthPriceO
racle\node_modules\scrypt\build\scrypt.vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\src\node-boilerplate\inc\scrypt_common.h(40,1): error C2660: “v8::Value::Uint32Value”: 函数不接受 0 个参数 (编译源文件 ..\src\node-boilerplate\scrypt_params_async.c
c) [G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\build\scrypt.vcxproj]
C:\Users\admin\AppData\Local\node-gyp\Cache\12.22.12\include\node\v8.h(2707,41): message : 参见“v8::Value::Uint32Value”的声明 (编译源文件 ..\src\node-boilerplate\scrypt_params_async.cc) [G:\tgit\eth\cryptozombiestrial\oracle\EthPriceO
racle\node_modules\scrypt\build\scrypt.vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\src\node-boilerplate\inc\scrypt_common.h(39,1): error C2660: “v8::Value::Uint32Value”: 函数不接受 0 个参数 (编译源文件 ..\src\node-boilerplate\scrypt_params_sync.cc
) [G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\build\scrypt.vcxproj]
C:\Users\admin\AppData\Local\node-gyp\Cache\12.22.12\include\node\v8.h(2707,41): message : 参见“v8::Value::Uint32Value”的声明 (编译源文件 ..\src\node-boilerplate\scrypt_params_sync.cc) [G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOr
acle\node_modules\scrypt\build\scrypt.vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\src\node-boilerplate\inc\scrypt_common.h(41,1): error C2660: “v8::Value::Uint32Value”: 函数不接受 0 个参数 (编译源文件 ..\src\node-boilerplate\scrypt_params_async.c
c) [G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\build\scrypt.vcxproj]
C:\Users\admin\AppData\Local\node-gyp\Cache\12.22.12\include\node\v8.h(2707,41): message : 参见“v8::Value::Uint32Value”的声明 (编译源文件 ..\src\node-boilerplate\scrypt_params_async.cc) [G:\tgit\eth\cryptozombiestrial\oracle\EthPriceO
racle\node_modules\scrypt\build\scrypt.vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\src\node-boilerplate\inc\scrypt_common.h(40,1): error C2660: “v8::Value::Uint32Value”: 函数不接受 0 个参数 (编译源文件 ..\src\node-boilerplate\scrypt_params_sync.cc
) [G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\build\scrypt.vcxproj]
C:\Users\admin\AppData\Local\node-gyp\Cache\12.22.12\include\node\v8.h(2707,41): message : 参见“v8::Value::Uint32Value”的声明 (编译源文件 ..\src\node-boilerplate\scrypt_params_sync.cc) [G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOr
acle\node_modules\scrypt\build\scrypt.vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\src\node-boilerplate\inc\scrypt_async.h(53,15): warning C4996: 'Nan::Callback::Call': 被声明为已否决 (编译源文件 ..\src\node-boilerplate\scrypt_params_async.cc) [G
:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\build\scrypt.vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\src\node-boilerplate\inc\scrypt_common.h(41,1): error C2660: “v8::Value::Uint32Value”: 函数不接受 0 个参数 (编译源文件 ..\src\node-boilerplate\scrypt_params_sync.cc
) [G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\build\scrypt.vcxproj]
C:\Users\admin\AppData\Local\node-gyp\Cache\12.22.12\include\node\v8.h(2707,41): message : 参见“v8::Value::Uint32Value”的声明 (编译源文件 ..\src\node-boilerplate\scrypt_params_sync.cc) [G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOr
acle\node_modules\scrypt\build\scrypt.vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\src\node-boilerplate\inc\scrypt_params_async.h(35,1): error C2660: “v8::Value::NumberValue”: 函数不接受 0 个参数 (编译源文件 ..\src\node-boilerplate\scrypt_params_a
sync.cc) [G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\build\scrypt.vcxproj]
C:\Users\admin\AppData\Local\node-gyp\Cache\12.22.12\include\node\v8.h(2704,39): message : 参见“v8::Value::NumberValue”的声明 (编译源文件 ..\src\node-boilerplate\scrypt_params_async.cc) [G:\tgit\eth\cryptozombiestrial\oracle\EthPriceO
racle\node_modules\scrypt\build\scrypt.vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\src\node-boilerplate\scrypt_params_sync.cc(25,47): error C2660: “v8::Value::NumberValue”: 函数不接受 0 个参数 [G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOr
acle\node_modules\scrypt\build\scrypt.vcxproj]
C:\Users\admin\AppData\Local\node-gyp\Cache\12.22.12\include\node\v8.h(2704,39): message : 参见“v8::Value::NumberValue”的声明 (编译源文件 ..\src\node-boilerplate\scrypt_params_sync.cc) [G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOr
acle\node_modules\scrypt\build\scrypt.vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\src\node-boilerplate\inc\scrypt_params_async.h(36,1): error C2660: “v8::Value::NumberValue”: 函数不接受 0 个参数 (编译源文件 ..\src\node-boilerplate\scrypt_params_a
sync.cc) [G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\build\scrypt.vcxproj]
C:\Users\admin\AppData\Local\node-gyp\Cache\12.22.12\include\node\v8.h(2704,39): message : 参见“v8::Value::NumberValue”的声明 (编译源文件 ..\src\node-boilerplate\scrypt_params_async.cc) [G:\tgit\eth\cryptozombiestrial\oracle\EthPriceO
racle\node_modules\scrypt\build\scrypt.vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\src\node-boilerplate\scrypt_params_sync.cc(25,16): error C2737: “maxtime”: 必须初始化 const 对象 [G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_mo
dules\scrypt\build\scrypt.vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\src\node-boilerplate\inc\scrypt_params_async.h(37,1): error C2660: “v8::Value::IntegerValue”: 函数不接受 0 个参数 (编译源文件 ..\src\node-boilerplate\scrypt_params_
async.cc) [G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\build\scrypt.vcxproj]
C:\Users\admin\AppData\Local\node-gyp\Cache\12.22.12\include\node\v8.h(2705,40): message : 参见“v8::Value::IntegerValue”的声明 (编译源文件 ..\src\node-boilerplate\scrypt_params_async.cc) [G:\tgit\eth\cryptozombiestrial\oracle\EthPrice
Oracle\node_modules\scrypt\build\scrypt.vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\src\node-boilerplate\scrypt_params_sync.cc(26,47): error C2660: “v8::Value::IntegerValue”: 函数不接受 0 个参数 [G:\tgit\eth\cryptozombiestrial\oracle\EthPriceO
racle\node_modules\scrypt\build\scrypt.vcxproj]
C:\Users\admin\AppData\Local\node-gyp\Cache\12.22.12\include\node\v8.h(2705,40): message : 参见“v8::Value::IntegerValue”的声明 (编译源文件 ..\src\node-boilerplate\scrypt_params_sync.cc) [G:\tgit\eth\cryptozombiestrial\oracle\EthPriceO
racle\node_modules\scrypt\build\scrypt.vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\src\node-boilerplate\inc\scrypt_params_async.h(38,1): error C2660: “v8::Value::IntegerValue”: 函数不接受 0 个参数 (编译源文件 ..\src\node-boilerplate\scrypt_params_
async.cc) [G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\build\scrypt.vcxproj]
C:\Users\admin\AppData\Local\node-gyp\Cache\12.22.12\include\node\v8.h(2705,40): message : 参见“v8::Value::IntegerValue”的声明 (编译源文件 ..\src\node-boilerplate\scrypt_params_async.cc) [G:\tgit\eth\cryptozombiestrial\oracle\EthPrice
Oracle\node_modules\scrypt\build\scrypt.vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\src\node-boilerplate\scrypt_params_sync.cc(26,16): error C2737: “maxmem”: 必须初始化 const 对象 [G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_mod
ules\scrypt\build\scrypt.vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\src\node-boilerplate\scrypt_params_async.cc(23,6): warning C4996: 'v8::Object::Set': 被声明为已否决 [G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node
_modules\scrypt\build\scrypt.vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\src\node-boilerplate\scrypt_params_sync.cc(27,50): error C2660: “v8::Value::NumberValue”: 函数不接受 0 个参数 [G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOr
acle\node_modules\scrypt\build\scrypt.vcxproj]
C:\Users\admin\AppData\Local\node-gyp\Cache\12.22.12\include\node\v8.h(2704,39): message : 参见“v8::Value::NumberValue”的声明 (编译源文件 ..\src\node-boilerplate\scrypt_params_sync.cc) [G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOr
acle\node_modules\scrypt\build\scrypt.vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\src\node-boilerplate\scrypt_params_async.cc(24,6): warning C4996: 'v8::Object::Set': 被声明为已否决 [G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node
_modules\scrypt\build\scrypt.vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\src\node-boilerplate\scrypt_params_sync.cc(27,16): error C2737: “maxmemfrac”: 必须初始化 const 对象 [G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node
_modules\scrypt\build\scrypt.vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\src\node-boilerplate\scrypt_params_async.cc(25,6): warning C4996: 'v8::Object::Set': 被声明为已否决 [G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node
_modules\scrypt\build\scrypt.vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\src\node-boilerplate\scrypt_params_sync.cc(28,50): error C2660: “v8::Value::IntegerValue”: 函数不接受 0 个参数 [G:\tgit\eth\cryptozombiestrial\oracle\EthPriceO
racle\node_modules\scrypt\build\scrypt.vcxproj]
C:\Users\admin\AppData\Local\node-gyp\Cache\12.22.12\include\node\v8.h(2705,40): message : 参见“v8::Value::IntegerValue”的声明 (编译源文件 ..\src\node-boilerplate\scrypt_params_sync.cc) [G:\tgit\eth\cryptozombiestrial\oracle\EthPriceO
racle\node_modules\scrypt\build\scrypt.vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\src\node-boilerplate\scrypt_params_async.cc(32,11): warning C4996: 'Nan::Callback::Call': 被声明为已否决 [G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle
\node_modules\scrypt\build\scrypt.vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\src\node-boilerplate\scrypt_params_sync.cc(28,16): error C2737: “osfreemem”: 必须初始化 const 对象 [G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_
modules\scrypt\build\scrypt.vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\src\node-boilerplate\inc\scrypt_common.h(39,1): error C2660: “v8::Value::Uint32Value”: 函数不接受 0 个参数 (编译源文件 ..\src\node-boilerplate\scrypt_kdf_async.cc)
[G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\build\scrypt.vcxproj]
C:\Users\admin\AppData\Local\node-gyp\Cache\12.22.12\include\node\v8.h(2707,41): message : 参见“v8::Value::Uint32Value”的声明 (编译源文件 ..\src\node-boilerplate\scrypt_kdf_async.cc) [G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOrac
le\node_modules\scrypt\build\scrypt.vcxproj]
scrypt_kdf_sync.cc
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\src\node-boilerplate\inc\scrypt_common.h(40,1): error C2660: “v8::Value::Uint32Value”: 函数不接受 0 个参数 (编译源文件 ..\src\node-boilerplate\scrypt_kdf_async.cc)
[G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\build\scrypt.vcxproj]
C:\Users\admin\AppData\Local\node-gyp\Cache\12.22.12\include\node\v8.h(2707,41): message : 参见“v8::Value::Uint32Value”的声明 (编译源文件 ..\src\node-boilerplate\scrypt_kdf_async.cc) [G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOrac
le\node_modules\scrypt\build\scrypt.vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\src\node-boilerplate\scrypt_params_sync.cc(46,6): warning C4996: 'v8::Object::Set': 被声明为已否决 [G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_
modules\scrypt\build\scrypt.vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\src\node-boilerplate\inc\scrypt_common.h(41,1): error C2660: “v8::Value::Uint32Value”: 函数不接受 0 个参数 (编译源文件 ..\src\node-boilerplate\scrypt_kdf_async.cc)
[G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\build\scrypt.vcxproj]
C:\Users\admin\AppData\Local\node-gyp\Cache\12.22.12\include\node\v8.h(2707,41): message : 参见“v8::Value::Uint32Value”的声明 (编译源文件 ..\src\node-boilerplate\scrypt_kdf_async.cc) [G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOrac
le\node_modules\scrypt\build\scrypt.vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\src\node-boilerplate\scrypt_params_sync.cc(47,6): warning C4996: 'v8::Object::Set': 被声明为已否决 [G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_
modules\scrypt\build\scrypt.vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\src\node-boilerplate\inc\scrypt_async.h(53,15): warning C4996: 'Nan::Callback::Call': 被声明为已否决 (编译源文件 ..\src\node-boilerplate\scrypt_kdf_async.cc) [G:\t
git\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\build\scrypt.vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\src\node-boilerplate\scrypt_params_sync.cc(48,6): warning C4996: 'v8::Object::Set': 被声明为已否决 [G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_
modules\scrypt\build\scrypt.vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\src\node-boilerplate\inc\scrypt_kdf_async.h(36,1): error C2661: “v8::Value::ToObject”: 没有重载函数接受 0 个参数 (编译源文件 ..\src\node-boilerplate\scrypt_kdf_async.c
c) [G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\build\scrypt.vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\src\node-boilerplate\inc\scrypt_kdf_async.h(36,13): error C2512: “NodeScrypt::Params::Params”: 没有合适的默认构造函数可用 (编译源文件 ..\src\node-boilerplate\scrypt_kdf_
async.cc) [G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\build\scrypt.vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\src\node-boilerplate\inc\scrypt_kdf_async.h(40,28): warning C4996: 'v8::Object::Set': 被声明为已否决 (编译源文件 ..\src\node-boilerplate\scrypt_kdf_async.cc) [G:\t
git\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\build\scrypt.vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\src\node-boilerplate\inc\scrypt_kdf_async.h(41,28): warning C4996: 'v8::Object::Set': 被声明为已否决 (编译源文件 ..\src\node-boilerplate\scrypt_kdf_async.cc) [G:\t
git\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\build\scrypt.vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\src\node-boilerplate\inc\scrypt_kdf_async.h(42,28): warning C4996: 'v8::Object::Set': 被声明为已否决 (编译源文件 ..\src\node-boilerplate\scrypt_kdf_async.cc) [G:\t
git\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\build\scrypt.vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\src\node-boilerplate\inc\scrypt_kdf_async.h(45,90): warning C4996: 'v8::Object::Get': 被声明为已否决 (编译源文件 ..\src\node-boilerplate\scrypt_kdf_async.cc) [G:\t
git\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\build\scrypt.vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\src\node-boilerplate\scrypt_kdf_async.cc(25,62): error C2661: “v8::Value::ToObject”: 没有重载函数接受 0 个参数 [G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOrac
le\node_modules\scrypt\build\scrypt.vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\src\node-boilerplate\scrypt_kdf_async.cc(28,13): warning C4996: 'Nan::Callback::Call': 被声明为已否决 [G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\no
de_modules\scrypt\build\scrypt.vcxproj]
scrypt_kdf-verify_sync.cc
scrypt_kdf-verify_async.cc
scrypt_hash_sync.cc
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\src\node-boilerplate\inc\scrypt_common.h(39,1): error C2660: “v8::Value::Uint32Value”: 函数不接受 0 个参数 (编译源文件 ..\src\node-boilerplate\scrypt_kdf-verify_asy
nc.cc) [G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\build\scrypt.vcxproj]
C:\Users\admin\AppData\Local\node-gyp\Cache\12.22.12\include\node\v8.h(2707,41): message : 参见“v8::Value::Uint32Value”的声明 (编译源文件 ..\src\node-boilerplate\scrypt_kdf-verify_async.cc) [G:\tgit\eth\cryptozombiestrial\oracle\EthPr
iceOracle\node_modules\scrypt\build\scrypt.vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\src\node-boilerplate\inc\scrypt_common.h(40,1): error C2660: “v8::Value::Uint32Value”: 函数不接受 0 个参数 (编译源文件 ..\src\node-boilerplate\scrypt_kdf-verify_asy
nc.cc) [G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\build\scrypt.vcxproj]
C:\Users\admin\AppData\Local\node-gyp\Cache\12.22.12\include\node\v8.h(2707,41): message : 参见“v8::Value::Uint32Value”的声明 (编译源文件 ..\src\node-boilerplate\scrypt_kdf-verify_async.cc) [G:\tgit\eth\cryptozombiestrial\oracle\EthPr
iceOracle\node_modules\scrypt\build\scrypt.vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\src\node-boilerplate\inc\scrypt_common.h(39,1): error C2660: “v8::Value::Uint32Value”: 函数不接受 0 个参数 (编译源文件 ..\src\node-boilerplate\scrypt_kdf_sync.cc) [
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\build\scrypt.vcxproj]
C:\Users\admin\AppData\Local\node-gyp\Cache\12.22.12\include\node\v8.h(2707,41): message : 参见“v8::Value::Uint32Value”的声明 (编译源文件 ..\src\node-boilerplate\scrypt_kdf_sync.cc) [G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracl
e\node_modules\scrypt\build\scrypt.vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\src\node-boilerplate\inc\scrypt_common.h(41,1): error C2660: “v8::Value::Uint32Value”: 函数不接受 0 个参数 (编译源文件 ..\src\node-boilerplate\scrypt_kdf-verify_asy
nc.cc) [G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\build\scrypt.vcxproj]
C:\Users\admin\AppData\Local\node-gyp\Cache\12.22.12\include\node\v8.h(2707,41): message : 参见“v8::Value::Uint32Value”的声明 (编译源文件 ..\src\node-boilerplate\scrypt_kdf-verify_async.cc) [G:\tgit\eth\cryptozombiestrial\oracle\EthPr
iceOracle\node_modules\scrypt\build\scrypt.vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\src\node-boilerplate\inc\scrypt_common.h(40,1): error C2660: “v8::Value::Uint32Value”: 函数不接受 0 个参数 (编译源文件 ..\src\node-boilerplate\scrypt_kdf_sync.cc) [
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\build\scrypt.vcxproj]
C:\Users\admin\AppData\Local\node-gyp\Cache\12.22.12\include\node\v8.h(2707,41): message : 参见“v8::Value::Uint32Value”的声明 (编译源文件 ..\src\node-boilerplate\scrypt_kdf_sync.cc) [G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracl
e\node_modules\scrypt\build\scrypt.vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\src\node-boilerplate\inc\scrypt_async.h(53,15): warning C4996: 'Nan::Callback::Call': 被声明为已否决 (编译源文件 ..\src\node-boilerplate\scrypt_kdf-verify_async.cc
) [G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\build\scrypt.vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\src\node-boilerplate\inc\scrypt_common.h(41,1): error C2660: “v8::Value::Uint32Value”: 函数不接受 0 个参数 (编译源文件 ..\src\node-boilerplate\scrypt_kdf_sync.cc) [
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\build\scrypt.vcxproj]
C:\Users\admin\AppData\Local\node-gyp\Cache\12.22.12\include\node\v8.h(2707,41): message : 参见“v8::Value::Uint32Value”的声明 (编译源文件 ..\src\node-boilerplate\scrypt_kdf_sync.cc) [G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracl
e\node_modules\scrypt\build\scrypt.vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\src\node-boilerplate\inc\scrypt_kdf-verify_async.h(40,28): warning C4996: 'v8::Object::Set': 被声明为已否决 (编译源文件 ..\src\node-boilerplate\scrypt_kdf-verify_a
sync.cc) [G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\build\scrypt.vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\src\node-boilerplate\scrypt_kdf_sync.cc(29,57): error C2661: “v8::Value::ToObject”: 没有重载函数接受 0 个参数 [G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracl
e\node_modules\scrypt\build\scrypt.vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\src\node-boilerplate\inc\scrypt_kdf-verify_async.h(41,28): warning C4996: 'v8::Object::Set': 被声明为已否决 (编译源文件 ..\src\node-boilerplate\scrypt_kdf-verify_a
sync.cc) [G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\build\scrypt.vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\src\node-boilerplate\scrypt_kdf_sync.cc(29,30): error C2737: “params”: 必须初始化 const 对象 [G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_module
s\scrypt\build\scrypt.vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\src\node-boilerplate\scrypt_kdf-verify_async.cc(30,11): warning C4996: 'Nan::Callback::Call': 被声明为已否决 [G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOr
acle\node_modules\scrypt\build\scrypt.vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\src\node-boilerplate\inc\scrypt_common.h(39,1): error C2660: “v8::Value::Uint32Value”: 函数不接受 0 个参数 (编译源文件 ..\src\node-boilerplate\scrypt_kdf-verify_syn
c.cc) [G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\build\scrypt.vcxproj]
C:\Users\admin\AppData\Local\node-gyp\Cache\12.22.12\include\node\v8.h(2707,41): message : 参见“v8::Value::Uint32Value”的声明 (编译源文件 ..\src\node-boilerplate\scrypt_kdf-verify_sync.cc) [G:\tgit\eth\cryptozombiestrial\oracle\EthPri
ceOracle\node_modules\scrypt\build\scrypt.vcxproj]
scrypt_hash_async.cc
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\src\node-boilerplate\inc\scrypt_common.h(40,1): error C2660: “v8::Value::Uint32Value”: 函数不接受 0 个参数 (编译源文件 ..\src\node-boilerplate\scrypt_kdf-verify_syn
c.cc) [G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\build\scrypt.vcxproj]
C:\Users\admin\AppData\Local\node-gyp\Cache\12.22.12\include\node\v8.h(2707,41): message : 参见“v8::Value::Uint32Value”的声明 (编译源文件 ..\src\node-boilerplate\scrypt_kdf-verify_sync.cc) [G:\tgit\eth\cryptozombiestrial\oracle\EthPri
ceOracle\node_modules\scrypt\build\scrypt.vcxproj]
scrypt_node.cc
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\src\node-boilerplate\inc\scrypt_common.h(41,1): error C2660: “v8::Value::Uint32Value”: 函数不接受 0 个参数 (编译源文件 ..\src\node-boilerplate\scrypt_kdf-verify_syn
c.cc) [G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\build\scrypt.vcxproj]
C:\Users\admin\AppData\Local\node-gyp\Cache\12.22.12\include\node\v8.h(2707,41): message : 参见“v8::Value::Uint32Value”的声明 (编译源文件 ..\src\node-boilerplate\scrypt_kdf-verify_sync.cc) [G:\tgit\eth\cryptozombiestrial\oracle\EthPri
ceOracle\node_modules\scrypt\build\scrypt.vcxproj]
win_delay_load_hook.cc
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\src\node-boilerplate\inc\scrypt_common.h(39,1): error C2660: “v8::Value::Uint32Value”: 函数不接受 0 个参数 (编译源文件 ..\src\node-boilerplate\scrypt_hash_sync.cc)
[G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\build\scrypt.vcxproj]
C:\Users\admin\AppData\Local\node-gyp\Cache\12.22.12\include\node\v8.h(2707,41): message : 参见“v8::Value::Uint32Value”的声明 (编译源文件 ..\src\node-boilerplate\scrypt_hash_sync.cc) [G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOrac
le\node_modules\scrypt\build\scrypt.vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\src\node-boilerplate\inc\scrypt_common.h(40,1): error C2660: “v8::Value::Uint32Value”: 函数不接受 0 个参数 (编译源文件 ..\src\node-boilerplate\scrypt_hash_sync.cc)
[G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\build\scrypt.vcxproj]
C:\Users\admin\AppData\Local\node-gyp\Cache\12.22.12\include\node\v8.h(2707,41): message : 参见“v8::Value::Uint32Value”的声明 (编译源文件 ..\src\node-boilerplate\scrypt_hash_sync.cc) [G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOrac
le\node_modules\scrypt\build\scrypt.vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\src\node-boilerplate\inc\scrypt_common.h(41,1): error C2660: “v8::Value::Uint32Value”: 函数不接受 0 个参数 (编译源文件 ..\src\node-boilerplate\scrypt_hash_sync.cc)
[G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\build\scrypt.vcxproj]
C:\Users\admin\AppData\Local\node-gyp\Cache\12.22.12\include\node\v8.h(2707,41): message : 参见“v8::Value::Uint32Value”的声明 (编译源文件 ..\src\node-boilerplate\scrypt_hash_sync.cc) [G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOrac
le\node_modules\scrypt\build\scrypt.vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\src\node-boilerplate\scrypt_hash_sync.cc(24,55): error C2661: “v8::Value::ToObject”: 没有重载函数接受 0 个参数 [G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOrac
le\node_modules\scrypt\build\scrypt.vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\src\node-boilerplate\scrypt_hash_sync.cc(24,28): error C2737: “params”: 必须初始化 const 对象 [G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modul
es\scrypt\build\scrypt.vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\src\node-boilerplate\scrypt_hash_sync.cc(25,50): error C2660: “v8::Value::IntegerValue”: 函数不接受 0 个参数 [G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOra
cle\node_modules\scrypt\build\scrypt.vcxproj]
C:\Users\admin\AppData\Local\node-gyp\Cache\12.22.12\include\node\v8.h(2705,40): message : 参见“v8::Value::IntegerValue”的声明 (编译源文件 ..\src\node-boilerplate\scrypt_hash_sync.cc) [G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOra
cle\node_modules\scrypt\build\scrypt.vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\src\node-boilerplate\scrypt_hash_sync.cc(25,16): error C2737: “hash_size”: 必须初始化 const 对象 [G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_mo
dules\scrypt\build\scrypt.vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\src\node-boilerplate\inc\scrypt_common.h(39,1): error C2660: “v8::Value::Uint32Value”: 函数不接受 0 个参数 (编译源文件 ..\src\node-boilerplate\scrypt_hash_async.cc)
[G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\build\scrypt.vcxproj]
C:\Users\admin\AppData\Local\node-gyp\Cache\12.22.12\include\node\v8.h(2707,41): message : 参见“v8::Value::Uint32Value”的声明 (编译源文件 ..\src\node-boilerplate\scrypt_hash_async.cc) [G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOra
cle\node_modules\scrypt\build\scrypt.vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\src\node-boilerplate\inc\scrypt_common.h(40,1): error C2660: “v8::Value::Uint32Value”: 函数不接受 0 个参数 (编译源文件 ..\src\node-boilerplate\scrypt_hash_async.cc)
[G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\build\scrypt.vcxproj]
C:\Users\admin\AppData\Local\node-gyp\Cache\12.22.12\include\node\v8.h(2707,41): message : 参见“v8::Value::Uint32Value”的声明 (编译源文件 ..\src\node-boilerplate\scrypt_hash_async.cc) [G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOra
cle\node_modules\scrypt\build\scrypt.vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\src\node-boilerplate\inc\scrypt_common.h(41,1): error C2660: “v8::Value::Uint32Value”: 函数不接受 0 个参数 (编译源文件 ..\src\node-boilerplate\scrypt_hash_async.cc)
[G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\build\scrypt.vcxproj]
C:\Users\admin\AppData\Local\node-gyp\Cache\12.22.12\include\node\v8.h(2707,41): message : 参见“v8::Value::Uint32Value”的声明 (编译源文件 ..\src\node-boilerplate\scrypt_hash_async.cc) [G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOra
cle\node_modules\scrypt\build\scrypt.vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\src\node-boilerplate\inc\scrypt_async.h(53,15): warning C4996: 'Nan::Callback::Call': 被声明为已否决 (编译源文件 ..\src\node-boilerplate\scrypt_hash_async.cc) [G:\
tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\build\scrypt.vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\src\node-boilerplate\inc\scrypt_hash_async.h(36,1): error C2661: “v8::Value::ToObject”: 没有重载函数接受 0 个参数 (编译源文件 ..\src\node-boilerplate\scrypt_hash_async
.cc) [G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\build\scrypt.vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\src\node-boilerplate\inc\scrypt_hash_async.h(37,1): error C2660: “v8::Value::IntegerValue”: 函数不接受 0 个参数 (编译源文件 ..\src\node-boilerplate\scrypt_hash_asyn
c.cc) [G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\build\scrypt.vcxproj]
C:\Users\admin\AppData\Local\node-gyp\Cache\12.22.12\include\node\v8.h(2705,40): message : 参见“v8::Value::IntegerValue”的声明 (编译源文件 ..\src\node-boilerplate\scrypt_hash_async.cc) [G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOr
acle\node_modules\scrypt\build\scrypt.vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\src\node-boilerplate\inc\scrypt_hash_async.h(36,13): error C2512: “NodeScrypt::Params::Params”: 没有合适的默认构造函数可用 (编译源文件 ..\src\node-boilerplate\scrypt_has
h_async.cc) [G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\build\scrypt.vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\src\node-boilerplate\inc\scrypt_hash_async.h(42,28): warning C4996: 'v8::Object::Set': 被声明为已否决 (编译源文件 ..\src\node-boilerplate\scrypt_hash_async.cc) [G:
\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\build\scrypt.vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\src\node-boilerplate\inc\scrypt_hash_async.h(43,28): warning C4996: 'v8::Object::Set': 被声明为已否决 (编译源文件 ..\src\node-boilerplate\scrypt_hash_async.cc) [G:
\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\build\scrypt.vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\src\node-boilerplate\inc\scrypt_hash_async.h(44,28): warning C4996: 'v8::Object::Set': 被声明为已否决 (编译源文件 ..\src\node-boilerplate\scrypt_hash_async.cc) [G:
\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\build\scrypt.vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\src\node-boilerplate\inc\scrypt_hash_async.h(47,85): warning C4996: 'v8::Object::Get': 被声明为已否决 (编译源文件 ..\src\node-boilerplate\scrypt_hash_async.cc) [G:
\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\build\scrypt.vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\src\node-boilerplate\scrypt_hash_async.cc(49,58): error C2661: “v8::Value::ToObject”: 没有重载函数接受 0 个参数 [G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOra
cle\node_modules\scrypt\build\scrypt.vcxproj]
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt\src\node-boilerplate\scrypt_hash_async.cc(52,11): warning C4996: 'Nan::Callback::Call': 被声明为已否决 [G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\n
ode_modules\scrypt\build\scrypt.vcxproj]
gyp ERR! build error
gyp ERR! stack Error: `C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\MSBuild.exe` failed with exit code: 1
gyp ERR! stack at ChildProcess.onExit (C:\Users\admin\AppData\Local\nvs\node\12.22.12\x64\node_modules\npm\node_modules\node-gyp\lib\build.js:194:23)
gyp ERR! stack at ChildProcess.emit (events.js:314:20)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:276:12)
gyp ERR! System Windows_NT 10.0.19043
gyp ERR! command "C:\\Users\\admin\\AppData\\Local\\nvs\\default\\node.exe" "C:\\Users\\admin\\AppData\\Local\\nvs\\node\\12.22.12\\x64\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
gyp ERR! cwd G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt
gyp ERR! node -v v12.22.12
gyp ERR! node-gyp -v v5.1.0
gyp ERR! not ok
npm WARN EthPriceOracle@1.0.0 No description
npm WARN EthPriceOracle@1.0.0 No repository field.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@2.3.2 (node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.3.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! scrypt@6.0.3 install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the scrypt@6.0.3 install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\admin\AppData\Roaming\npm-cache\_logs\2022-06-02T03_15_17_356Z-debug.log
显然网络问题已经好了,现在是编译scrypt@6.0.3
时出了问题。如果你直接去百度,网上会有一堆文章说了好几种根本不起作用的解决方法。原因是大部分人根本没去深究报错的原因,只是随便乱试一通。本着认真负责的态度,我们要从错误日志中自己找寻原因。
编译失败肯定是因为本地环境和项目方的不一致。看错误信息中有基础关键信息:
-
gyp ERR! stack Error:
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\MSBuild.exefailed with exit code: 1
- 我的机器上安装的是vs2019,编译失败了。 -
gyp ERR! node -v v12.22.12
- 没错,这是我正在使用的node版本。 -
gyp ERR! node-gyp -v v5.1.0
- mmm...网上会有一堆人让你装node-gyp,然而这句话正是说了使用了5.1.0的node-gyp,说明我本来就有安装。以上vs、Node、node-gyp的版本差异都可能导致编译失败。接下来逐个看一下,先看看node-gyp。
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle>node-gyp -v
'node-gyp' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
没理由呀~我全局(--global
)安装了node-gyp,回顾下上一篇文章,我用的nvs管理多个版本的Node,默认目录里可以看到使用npm i --global node-gyp
安装的node-gyp
手动查看其
package.json
,是最新(@latest
)的node-gyp v9.0.0没错~那为什么日志里会使用v5.1.0的版本呢?检查nvs安装目录(%LocalAppData%\nvs\node\12.22.12\x64\node_modules\npm\node_modules
,12.22.12是我默认使用的Node版本号)底下,还存在着一个node-gyp,查看其package.json
,发现正是5.1.0!说明npm安装包时优先使用的是这里的版本。既然是安装
scrypt
出问题,那就去其网站上找找有没有帮助信息。在Installation Instructions一节中,点击上图红框中的链接,下图红框中分别关于升级node-gyp到v9.x.x和Visual Studio版本的问题,也许对我们有用。
根据node-gyp的指引,升级npm内置的node-gyp到最新版本:
C:\Users\admin\AppData\Local\nvs\node\12.22.12\x64\node_modules\npm\node_modules\npm-lifecycle>npm i node-gyp@latest
+ node-gyp@9.0.0
added 105 packages from 43 contributors in 9.024s
45 packages are looking for funding
run `npm fund` for details
注意,具体目录参考指引。
再次安装loom-js,依然报错,说明和node-gyp版本无关(别总想轻而易举地解决问题,尽管这是成本最低的一个尝试方向)。vs2019是不是不兼容呢?毕竟看记录scrypto已经是6年前最后一次更新了,但是看错误信息,大量是关于v8的,且指向C:\Users\admin\AppData\Local\node-gyp\Cache\12.22.12\include\node\v8.h
,感觉Node版本差异导致编译失败更合理一些。比如下述错误:
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\loom-js\node_modules\websocket\src\bufferutil.cc(34,1
): error C2660: “v8::FunctionTemplate::GetFunction”: 函数不接受 0 个参数 [G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\
node_modules\loom-js\node_modules\websocket\build\bufferutil.vcxproj]
C:\Users\admin\AppData\Local\node-gyp\Cache\12.22.12\include\node\v8.h(6126,46): message : 参见“v8::FunctionTemplate::Get
Function”的声明 [G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\loom-js\node_modules\websocket\build\bu
fferutil.vcxproj]
翻了一下node-scrypt的github,果不其然,Node12以上版本会编译失败:
https://github.com/barrysteyn/node-scrypt/pull/197
因为Node12对v8库做了大量升级,很多接口被drop了,可查看此处讨论:https://stackoverflow.com/questions/58178620/v8-do-not-support-v8valuetonumber-anymore
正如scrypt作者声称,新版本的Node已经内置了scrypt作为其核心库,他这个项目已经弃坑了。对我而言,最简单的就是用Node11,正好我装了11和12都装了,切换下Node版本:
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle>nvs list
>#node/12.22.12/x64 (Erbium)
node/11.15.0/x64
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle>nvs link 11.15.0
%LOCALAPPDATA%\nvs\default -> %LOCALAPPDATA%\nvs\node\11.15.0\x64
重新安装loom-js:
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle>npm i loom-js -S
npm WARN deprecated ethereumjs-tx@1.3.7: New package name format for new versions: @ethereumjs/tx. Please update.
npm WARN deprecated axios@0.18.1: Critical security vulnerability fixed in v0.21.1. For more information, see https://github.com/axios/axios/pull/3410
npm WARN deprecated circular-json@0.5.9: CircularJSON is in maintenance only, flatted is its successor.
npm WARN deprecated uuid@3.4.0: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.
npm WARN deprecated core-js@2.6.12: core-js@<3.4 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Please, upgrade your dependencies to the actual version of core-js.
npm WARN deprecated axios@0.19.2: Critical security vulnerability fixed in v0.21.1. For more information, see https://github.com/axios/axios/pull/3410
npm WARN deprecated tar.gz@1.0.7: ⚠️ WARNING ⚠️ tar.gz module has been deprecated and your application is vulnerable. Please use tar module instead: https://npmjs.com/tar
npm WARN deprecated fs-promise@2.0.3: Use mz or fs-extra^3.0 with Promise Support
npm WARN deprecated tar@2.2.2: This version of tar is no longer supported, and will not receive security updates. Please upgrade asap.
npm WARN deprecated uuid@2.0.1: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.
> scrypt@6.0.3 preinstall G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt
> node node-scrypt-preinstall.js
> websocket@1.0.26 install G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\loom-js\node_modules\websocket
> (node-gyp rebuild 2> builderror.log) || (exit 0)
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\loom-js\node_modules\websocket>if not defined npm_config_node_gyp (node "C:\Users\admin\AppData\Local\nvs\node\11.15.0\x64\node_modules\npm\node_modules\npm-lifecycle\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild ) else (node "C:\Users\admin\AppData\Local\nvs\node\11.15.0\x64\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js" rebuild )
> scrypt@6.0.3 install G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt
> node-gyp rebuild
G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt>if not defined npm_config_node_gyp (node "C:\Users\admin\AppData\Local\nvs\node\11.15.0\x64\node_modules\npm\node_modules\npm-lifecycle\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild ) else (node "C:\Users\admin\AppData\Local\nvs\node\11.15.0\x64\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js" rebuild )
gyp ERR! configure error
gyp ERR! stack Error: Command failed: D:\Users\admin\AppData\Local\Programs\Python\Python310\python.EXE -c import sys; print "%s.%s.%s" % sys.version_info[:3];
gyp ERR! stack File "<string>", line 1
gyp ERR! stack import sys; print "%s.%s.%s" % sys.version_info[:3];
gyp ERR! stack ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
gyp ERR! stack SyntaxError: Missing parentheses in call to 'print'. Did you mean print(...)?
gyp ERR! stack
gyp ERR! stack at ChildProcess.exithandler (child_process.js:299:12)
gyp ERR! stack at ChildProcess.emit (events.js:193:13)
gyp ERR! stack at maybeClose (internal/child_process.js:999:16)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:266:5)
gyp ERR! System Windows_NT 10.0.19043
gyp ERR! command "C:\\Users\\admin\\AppData\\Local\\nvs\\default\\node.exe" "C:\\Users\\admin\\AppData\\Local\\nvs\\node\\11.15.0\\x64\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
gyp ERR! cwd G:\tgit\eth\cryptozombiestrial\oracle\EthPriceOracle\node_modules\scrypt
gyp ERR! node -v v11.15.0
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok
npm WARN ajv-formats@2.1.1 requires a peer of ajv@^8.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN EthPriceOracle@1.0.0 No description
npm WARN EthPriceOracle@1.0.0 No repository field.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@2.3.2 (node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.3.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! scrypt@6.0.3 install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the scrypt@6.0.3 install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\admin\AppData\Roaming\npm-cache\_logs\2022-06-02T08_21_32_866Z-debug.log
这次报错是python脚本,很明显这个脚本是python2,而我安装的是python3:
gyp ERR! stack Error: Command failed: D:\Users\admin\AppData\Local\Programs\Python\Python310\python.EXE -c import sys; print "%s.%s.%s" % sys.version_info[:3];
gyp ERR! stack File "<string>", line 1
gyp ERR! stack import sys; print "%s.%s.%s" % sys.version_info[:3];
gyp ERR! stack ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
安装了python2(同时安装python2和3网上介绍一堆)之后,重新安装loom-js,成功了!
结论
安装loom-js,由于其依赖于node-scrypt,而node-scrypt不支持Node12,因此需要使用Node11+python2来安装。