【报错问题】在visual studio 终端使用npm -v后报错禁止运行脚本怎么处理

PS C:\Users\10449> npm -v

npm : 无法加载文件 D:\node\npm.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。

所在位置 行:1 字符: 1

  • npm -v
复制代码
    + CategoryInfo          : SecurityError: (:) [],PSSecurityException
    + FullyQualifiedErrorId : UnauthorizedAccess

这个错误是因为 PowerShell 的执行策略(Execution Policy)限制了脚本的运行。默认情况下,PowerShell 的执行策略可能是 Restricted,这会阻止任何脚本的运行,包括 npm 命令。

以下是解决这个问题的步骤:


1. 检查当前的执行策略

  1. 打开 PowerShell(以管理员身份运行)。

  2. 运行以下命令检查当前的执行策略:

    powershell 复制代码
    Get-ExecutionPolicy
    • 常见的执行策略包括:
      • Restricted:禁止运行任何脚本。
      • AllSigned:只允许运行经过数字签名的脚本。
      • RemoteSigned:允许运行本地脚本,但远程脚本必须经过数字签名。
      • Unrestricted:允许运行所有脚本。

2. 更改执行策略

为了允许运行 npm 命令,你可以将执行策略更改为 RemoteSignedUnrestricted

方法 1:临时更改执行策略
  1. 在 PowerShell 中运行以下命令:

    powershell 复制代码
    Set-ExecutionPolicy RemoteSigned -Scope Process
    • 这将仅在当前 PowerShell 会话中更改执行策略,关闭 PowerShell 后会恢复默认设置。
方法 2:永久更改执行策略
  1. 以管理员身份运行 PowerShell。

  2. 运行以下命令:

    powershell 复制代码
    Set-ExecutionPolicy RemoteSigned
    • 这将永久更改执行策略。
    • 如果系统提示确认,输入 Y 并按回车。

3. 验证更改

  1. 运行以下命令检查执行策略是否已更改:

    powershell 复制代码
    Get-ExecutionPolicy
    • 如果显示 RemoteSignedUnrestricted,说明更改成功。
  2. 再次运行 npm -v 检查是否正常工作:

    powershell 复制代码
    npm -v
    • 如果显示 npm 的版本号,说明问题已解决。

4. 如果问题仍然存在

如果更改执行策略后问题仍然存在,可以尝试以下方法:

方法 1:使用命令提示符(CMD)
  1. 打开命令提示符(CMD),而不是 PowerShell。

  2. 运行以下命令:

    cmd 复制代码
    npm -v
    • 在 CMD 中,执行策略不会影响 npm 命令。
方法 2:修复 Node.js 安装
  1. 重新安装 Node.js:
    • 访问 Node.js 官网 下载最新版本。
    • 运行安装程序,确保选择 Add to PATH 选项。
  2. 重新打开 PowerShell 或 CMD,运行 npm -v 检查是否正常工作。

5. 恢复执行策略(可选)

如果你不希望永久更改执行策略,可以在完成操作后将其恢复为默认值:

  1. 以管理员身份运行 PowerShell。

  2. 运行以下命令:

    powershell 复制代码
    Set-ExecutionPolicy Restricted

相关推荐
无聊的烤苕皮8 小时前
RHCE(RHCSA复习:npm、dnf、源码安装实验)
linux·npm·云计算·dnf·rhcsa
山登绝顶我为峰 3(^v^)39 小时前
VSCode + CMake
ide·vscode·算法·计算机·编辑器
四念处茫茫11 小时前
【C语言系列】C语言内存函数
c语言·开发语言·算法·visual studio
dot to one14 小时前
深入刨析C++ stl::stack 、stl::queue 及 priority_queue
c语言·开发语言·数据结构·c++·算法·visual studio
哟哟耶耶15 小时前
npm-npm init与npm init -y区别与作用(初始化一个新的node.js项目)
前端·npm·node.js
一头大学牲19 小时前
vscode--工作区和相对路径
ide·vscode·编辑器
༺ཌༀ傲世万物ༀད༻20 小时前
KICK第三讲:解锁Visual Studio:Windows系统下的高效安装指南
ide·windows·visual studio
绿草在线21 小时前
Vue3 开发的 VSCode 插件
ide·vue.js·vscode
等风来不如迎风去21 小时前
【Pycharm】Pycharm无法复制粘贴,提示系统剪贴板不可用
ide·python·pycharm