安装@angular/cli时出现OpenSSL配置错误该如何解决?
安装Angular CLI OpenSSL报错解决方案
错误根因
报错由两个关联问题触发:
- 你在默认的
C:\Windows\system32系统目录下执行npm全局安装命令,npm会尝试向系统目录写入文件,触发路径/权限冲突 - 系统环境变量
OPENSSL_CONF指向了不存在的PostgreSQL ODBC组件的OpenSSL配置文件,Node调用内置OpenSSL时找不到配置文件触发崩溃
排查验证步骤
- 查看当前终端工作目录,确认是否为
C:\Windows\system32(管理员身份打开的Windows终端默认进入该目录) - 执行对应命令验证环境变量指向:
- CMD终端执行:
echo %OPENSSL_CONF% - Powershell终端执行:
$env:OPENSSL_CONF
- CMD终端执行:
- 前往输出的路径验证
openssl.cnf文件是否实际存在
解决方案
方案1:切换工作目录安装(优先尝试)
关闭当前终端,重新打开管理员权限的CMD/Powershell,先执行命令切换到非系统目录:
cd C:\Users\你的用户名\Desktop # 或者直接切换到C盘根目录 cd C:\
再执行Angular CLI安装命令:
npm install -g @angular/cli
该步骤可解决90%以上的同类报错,执行成功无需尝试后续方案
方案2:临时清空OpenSSL配置变量再安装
如果方案1执行后仍报错,在执行安装命令前先清空当前终端的OpenSSL配置变量:
- CMD终端执行:
set OPENSSL_CONF= npm install -g @angular/cli
- Powershell终端执行:
$env:OPENSSL_CONF="" npm install -g @angular/cli
方案3:永久修复环境变量(解决全系统同类报错)
如果后续其他依赖OpenSSL的工具也出现同类报错,可修改系统环境变量:
- 右键「此电脑」→「属性」→「高级系统设置」→「环境变量」
- 在系统变量列表中找到
OPENSSL_CONF项 - 选择删除该项,或者将值修改为实际存在的
openssl.cnf文件路径
内容的提问来源于stack exchange,提问作者Knowexx Ke
相关产品推荐
相关产品推荐

