【报错问题】在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

相关推荐
techdashen3 小时前
圆桌讨论:Coding Agent or AI IDE 的现状和未来发展
ide·人工智能
止观止4 小时前
如何开发 VSCode 内置扩展:从零开始构建最简扩展
ide·vscode·编辑器
承渊政道6 小时前
动态内存管理
c语言·c++·经验分享·c#·visual studio
Aevget10 小时前
「Java EE开发指南」用MyEclipse开发的EJB开发工具(二)
java·ide·java-ee·eclipse·myeclipse
weixin_4050233710 小时前
包资源管理器NPM 使用
前端·npm·node.js
AI视觉网奇12 小时前
pycharm 默认终端设置 cmd
ide·python·pycharm
C++ 老炮儿的技术栈14 小时前
include″″与includ<>的区别
c语言·开发语言·c++·算法·visual studio
小龙报15 小时前
《彻底理解C语言指针全攻略(6)-- qsort、sizeof和strlen》
c语言·开发语言·职场和发展·创业创新·学习方法·业界资讯·visual studio
无限进步_16 小时前
C语言文件操作全面解析:从基础概念到高级应用
c语言·开发语言·c++·后端·visual studio
yudiandian201417 小时前
03 Eclipse 配置 JDK 环境
java·ide·eclipse