
电脑配置node.js时,切换国内镜像源出现问题
本文最后更新于 2025-03-03,文章内容可能已经过时。
npm config set registry https://repo.huaweicloud.com/repository/npm/
npm : 无法加载文件 F:\nodejs\npm.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Polic
ies。
所在位置 行:1 字符: 1
+ npm config set registry https://repo.huaweicloud.com/repository/npm/
+ ~~~
+ CategoryInfo : SecurityError: (:) [],PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess
遇到的错误信息表明,Windows系统的PowerShell执行策略限制了脚本的运行。以下是解决这个问题的详细方法:
方法一:临时修改PowerShell执行策略
打开PowerShell(管理员权限):
在Windows搜索栏中输入“PowerShell”,右键点击“Windows PowerShell”,选择“以管理员身份运行”。
查看当前执行策略:
在PowerShell中输入
Get-ExecutionPolicy
,查看当前执行策略。如果返回Restricted
,说明脚本运行被禁止。
临时修改执行策略:
输入以下命令,临时修改执行策略(仅在当前会话中生效):
Set-ExecutionPolicy RemoteSigned -Scope Process
系统会提示确认,输入
Y
并回车。
重新运行npm命令:
再次运行您的npm命令,例如:
npm config set registry https://repo.huaweicloud.com/repository/npm/
注意:临时修改执行策略只在当前PowerShell会话中生效,关闭PowerShell后策略会恢复默认值。
方法二:永久修改PowerShell执行策略
打开PowerShell(管理员权限):
同方法一中的步骤。
查看当前执行策略:
同方法一中的步骤。
永久修改执行策略:
输入以下命令,永久修改执行策略:
Set-ExecutionPolicy RemoteSigned
系统会提示确认,输入
Y
并回车。
验证修改:
输入
Get-ExecutionPolicy
,检查执行策略是否已修改为RemoteSigned
。
重新打开PowerShell终端:
关闭并重新打开PowerShell终端,确保新的执行策略生效。
重新运行npm命令:
同方法一中的步骤。
注意:永久修改执行策略可能会影响系统安全性,特别是Unrestricted
策略允许运行所有脚本。RemoteSigned
策略允许运行本地脚本和签名的远程脚本,是一个相对安全的选择。
方法三:使用CMD代替PowerShell
打开CMD:
在Windows搜索栏中输入“cmd”,右键点击“命令提示符”,选择“以管理员身份运行”。
直接运行npm命令:
在CMD中输入您的npm命令,例如:
npm config set registry https://repo.huaweicloud.com/repository/npm/
注意:使用CMD可以避免PowerShell的执行策略限制,但某些npm命令可能需要PowerShell支持的功能。
总结
临时修改执行策略:仅在当前会话中生效,适用于临时解决脚本运行问题。
永久修改执行策略:会永久更改执行策略,可能影响系统安全性,但适用于长期运行脚本的需求。
使用CMD代替PowerShell:可以避免执行策略限制,但可能无法支持所有npm命令。
请根据您的需求选择合适的方法,并在修改执行策略后重新打开PowerShell终端,确保使用管理员权限运行PowerShell。