npm : 无法加载文件

175 阅读2分钟

今天在用HbuilderX运行项目的时候发现一个问题,已经安装nodejs了,我查看npm的版本的时候,`npm : 无法加载文件 C:\Program Files\nodejs\npm.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。 所在位置 行:1 字符: 1 所在位置 行:1 字符: 1

  • npm -v
  •   + CategoryInfo          : SecurityError: (:) [],PSSecurityException
      + FullyQualifiedErrorId : UnauthorizedAccess`
      + 
    

这样报错了, 经过排查,才知道这个错误是因为 PowerShell 的执行策略限制了脚本的运行。默认情况下,PowerShell 的执行策略可能设置为 Restricted,这意味着不允许运行任何脚本。 可以通过更改 PowerShell 的执行策略来解决这个问题。以下是具体步骤:

  1. **
    打开 PowerShell 作为管理员**:

    • 在开始菜单中搜索 "PowerShell"。
    • 右键点击 "Windows PowerShell" 并选择 "以管理员身份运行"。
  2. 查看当前的执行策略

Get-ExecutionPolicy
  1. 更改执行策略

    • 如果你想允许所有用户在本地计算机上运行脚本,可以将其设置为 RemoteSigned。这允许你运行本地创建的脚本,但需要数字签名才能运行从互联网下载的脚本。

      
      Set-ExecutionPolicy RemoteSigned
      
    • 或者,如果你想更宽松地允许所有脚本运行(不推荐用于生产环境),可以将其设置为 Unrestricted

      
      Set-ExecutionPolicy Unrestricted
      
  2. 确认更改

    • 系统会提示你是否要更改执行策略。输入 Y 并按回车键确认。

完成上述步骤后,你应该能够正常运行 npm 命令。

如果你仍然遇到问题,请确保你的 node.js 和 npm 已经正确安装并且路径配置正确。你可以通过以下命令检查它们的版本:


node -v
npm -v

这些命令应该返回相应的版本号,表明 node.js 和 npm 正常工作。