如何在 Windows 上无错误地 npm i ssh2?
Posted
技术标签:
【中文标题】如何在 Windows 上无错误地 npm i ssh2?【英文标题】:How to npm i ssh2 without errors on Windows? 【发布时间】:2021-11-21 03:51:22 【问题描述】:npm i ssh2
以:
MSVCRT.lib(chandler4gs.obj):错误 LNK2019:函数中引用了未解析的外部符号 __except_handler4_common __except_handler4 [c:\xxxxxxx\git\sdk\v2\master\node_modules\yyyy\node_modules\cpu-features\build\cpufeatures. vcxproj] c:\xxxxxxx\git\sdk\v2\master\node_modules\yyyy\node_modules\cpu-features\build\Release\cpufeatures.node :致命 错误 LNK1120:1 未解决的外部 [c:\SAPDevelop\git\sdk\v2\master\node_modules\irpa_core\node_modules\cpu-feature s\build\cpufeatures.vcxproj]
如您所见,问题出在cpu-features
。我能够查看 MS Visual Studio 的 cpu-features
构建文件(通过运行 npm i cpu-features
),我认为我找到了根本原因:
使用/MT
选项编译节点模块(cpufeatures.node)(C/C++ 运行时是静态链接的)
但是 DLL 链接到 cpu_features.lib
,witch 本身是通过链接到 utils.lib
构建的...
cpu_features.lib
和 utils.lib
这两个库是使用 /MD
开关编译的(C/C++ 运行时是动态链接的)
这是不正确的。在带有 Visual Studio 的 Windows 上,所有链接到 DLL 的库必须使用相同的选项来链接到 C/C++ 运行时。在两个库的 Visual Studio 项目中手动将 /MD
更改为 /MT
后,DLL cpufeatures.node
构建良好。
我对@987654336@一无所知。
问题:如何在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
【问题讨论】:
可选依赖项cpu_feature
中的错误已在 github (github.com/mscdex/cpu-features) 上修复,但目前未在 npmjs.com 上修复。
【参考方案1】:
另一个问题的答案:
npm install nan
npm install ssh2 --no-optional
【讨论】:
以上是关于如何在 Windows 上无错误地 npm i ssh2?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Arduino 在 LCD 上无延迟()方法闪烁单个字符?
我正在使用命令 npm i -S material-ui-icons 安装“material-ui-icons”,但出现如下错误
sql server 2008启动时:已成功与服务器建立连接,但是在登录过程中发生错误。(provider:命名管道提供程序,error:0-管道的另一端上无任何进程。)(Microsoft SQL