如何在Windows上npm i ssh2没有错误?



npm i ssh2以:

结尾

MSVCRT.lib(chandler4gs.obj): error LNK2019:未解析的外部符号__except_handler4_common在函数中引用git __except_handler4 (c: xxxxxxx sdk v2 node_modules yyyy大师 node_modules cpu-features 制造 cpufeatures。vcxproj]c: xxxxxxx git sdk v2 node_modules yyyy 大师node_modules cpu-features 制造 cpufeatures发布。节点:致命[c:SAPDevelopgitsdkv2masternode_modulesirpa_corenode_modulescpu-feature年代制造 cpufeatures.vcxproj]

如你所见,问题在cpu-features。我能够查看MS Visual Studio的cpu-features构建文件(通过运行npm i cpu-features),我认为我找到了根本原因:节点模块(cpufeatures.node)使用/MT选项编译(C/c++运行时将被静态链接)但DLL与cpu_features.lib女巫本身就是由utils.lib链接……cpu_features.libutils.lib这两个库是用/MD开关编译的(C/c++运行时是动态链接的)

这是不对的。在带有Visual Studio的Windows上,链接到DLL的所有库必须使用与链接到C/c++运行时相同的选项。DLLcpufeatures.nodebuild fine在Visual Studio项目中为两个库手动更改/MD/MT

我对cmake一无所知。

问题:如何在Windows上成功实现npm install ssh2?

(我在这里创建了一个问题:https://github.com/mscdex/cpu-features/issues/3到目前为止没有任何用处。我知道cpu-features对于ssh2是可选的。另一个问题:如何告诉npm install ssh2不要尝试构建cpu功能?)

Windows 10 Enterprise 64 bits 21H1 build 19043.1237
node v14.17.6
npm 6.14.15
node-gyp 8.2.0
cmake 3.21.3
Visual Studio Enterprise 2019 Version 16.11.3

替代问题的答案:

npm install nan
npm install ssh2 --no-optional

相关内容

  • 没有找到相关文章

最新更新