如何在 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.libutils.lib 这两个库是使用 /MD 开关编译的(C/C++ 运行时是动态链接的)

这是不正确的。在带有 Visual Studio 的 Windows 上,所有链接到 DLL 的库必须使用相同的选项来链接到 C/C++ 运行时。在两个库的 Visual Studio 项目中手动将 /MD 更改为 /MT 后,DLL cpufeatures.node 构建良好

我对@9​​87654336@一无所知。

问题:如何在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”,但出现如下错误

windows docker上无脑运行net core

sql server 2008启动时:已成功与服务器建立连接,但是在登录过程中发生错误。(provider:命名管道提供程序,error:0-管道的另一端上无任何进程。)(Microsoft SQL

如何在 Windows 上将 NPM 升级到特定版本 6.4.1?

我在 Windows 上收到“npm run build”部署错误 [重复]