本文最后更新于 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执行策略

  1. 打开PowerShell(管理员权限)‌:

    • 在Windows搜索栏中输入“PowerShell”,右键点击“Windows PowerShell”,选择“以管理员身份运行”。

  2. 查看当前执行策略‌:

    • 在PowerShell中输入Get-ExecutionPolicy,查看当前执行策略。如果返回Restricted,说明脚本运行被禁止。

  3. 临时修改执行策略‌:

    • 输入以下命令,临时修改执行策略(仅在当前会话中生效):

      Set-ExecutionPolicy RemoteSigned -Scope Process
    • 系统会提示确认,输入Y并回车。

  4. 重新运行npm命令‌:

    • 再次运行您的npm命令,例如:

      npm config set registry https://repo.huaweicloud.com/repository/npm/

注意‌:临时修改执行策略只在当前PowerShell会话中生效,关闭PowerShell后策略会恢复默认值。

方法二:永久修改PowerShell执行策略

  1. 打开PowerShell(管理员权限)‌:

    • 同方法一中的步骤。

  2. 查看当前执行策略‌:

    • 同方法一中的步骤。

  3. 永久修改执行策略‌:

    • 输入以下命令,永久修改执行策略:

      Set-ExecutionPolicy RemoteSigned
    • 系统会提示确认,输入Y并回车。

  4. 验证修改‌:

    • 输入Get-ExecutionPolicy,检查执行策略是否已修改为RemoteSigned

  5. 重新打开PowerShell终端‌:

    • 关闭并重新打开PowerShell终端,确保新的执行策略生效。

  6. 重新运行npm命令‌:

    • 同方法一中的步骤。

注意‌:永久修改执行策略可能会影响系统安全性,特别是Unrestricted策略允许运行所有脚本。RemoteSigned策略允许运行本地脚本和签名的远程脚本,是一个相对安全的选择。

方法三:使用CMD代替PowerShell

  1. 打开CMD‌:

    • 在Windows搜索栏中输入“cmd”,右键点击“命令提示符”,选择“以管理员身份运行”。

  2. 直接运行npm命令‌:

    • 在CMD中输入您的npm命令,例如:

      npm config set registry https://repo.huaweicloud.com/repository/npm/

注意‌:使用CMD可以避免PowerShell的执行策略限制,但某些npm命令可能需要PowerShell支持的功能。

总结

  • 临时修改执行策略‌:仅在当前会话中生效,适用于临时解决脚本运行问题。

  • 永久修改执行策略‌:会永久更改执行策略,可能影响系统安全性,但适用于长期运行脚本的需求。

  • 使用CMD代替PowerShell‌:可以避免执行策略限制,但可能无法支持所有npm命令。

请根据您的需求选择合适的方法,并在修改执行策略后重新打开PowerShell终端,确保使用管理员权限运行PowerShell。