Win10安装Loopback及APIConnect遇LNK1181错误,求解决方案
解决安装Loopback/API Connect时的LNK1181错误
这个错误是因为ursa模块编译时找不到指定的OpenSSL库文件libeay32.lib,通常和OpenSSL的版本、安装路径或环境变量配置有关,下面是具体的解决步骤:
1. 确认OpenSSL版本与安装路径
- 先检查OpenSSL版本:
libeay32.lib是OpenSSL 1.0.x版本的库文件名,OpenSSL 1.1.x及之后的版本已将该文件改名为libcrypto.lib,而ursa模块大概率依赖旧版命名规则。如果你装的是新版OpenSSL,建议卸载后安装OpenSSL 1.0.x的64位版本。 - 验证路径:确认OpenSSL确实安装在
C:\OpenSSL-Win64,且C:\OpenSSL-Win64\lib目录下存在libeay32.lib文件。如果文件在子目录(比如lib\VC),需要调整后续的环境变量或编译参数指向正确路径。
2. 配置系统环境变量
将OpenSSL路径添加到系统环境变量,让编译工具能定位到库文件:
- 新增系统环境变量
OPENSSL_ROOT_DIR,值设为C:\OpenSSL-Win64 - 编辑
LIB环境变量,添加C:\OpenSSL-Win64\lib - 编辑
INCLUDE环境变量,添加C:\OpenSSL-Win64\include - 配置完成后,关闭并重新打开命令行窗口(确保环境变量生效)
3. 重新编译或安装相关模块
如果已经安装了apiconnect,先卸载全局包:
npm uninstall -g apiconnect
然后重新安装,若环境变量未生效可手动指定OpenSSL路径:
npm install -g apiconnect --openssl-root-dir=C:\OpenSSL-Win64
如果问题仍存在,可单独针对ursa模块重新编译:
cd C:\Users\admin\AppData\Roaming\npm\node_modules\apiconnect\node_modules\ursa npm rebuild --openssl-root-dir=C:\OpenSSL-Win64
4. 备选方案:安装Windows编译工具
若上述方法无效,尝试安装微软官方的Windows编译工具集,它会自带适配的OpenSSL组件:
npm install --global --production windows-build-tools
安装完成后重新安装apiconnect,工具集会自动处理依赖库的路径问题。
内容的提问来源于stack exchange,提问作者Deepak Gupta
相关产品推荐
相关产品推荐

