文章目录前言一、错误现象1、完整报错信息2、报错关键点解读二、错误原因分析1、执行策略是什么2、为什么 npm 会触发三、解决方案1、推荐方案 : 设置 RemoteSigned ( 一次配置终身有效 )2、备选方案一 : 显式调用 npm.cmd ( 零配置 )3、备选方案二 : 会话级临时放行 ( Bypass )4、三种方案对比四、注意事项与避坑指南总结前言在 Windows 环境按绿色安装方式装好 Node.js 与 npm 之后, 很多人第一次在 PowerShell 里敲npm -v就会撞上一段红色报错 ,提示 无法加载文件 npm.ps1 , 因为在此系统上禁止运行脚本 ;这个报错与 npm 本身没有任何关系 , 是 PowerShell 的执行策略 ( Execution Policy ) 在拦截脚本 ; 本文完整记录该报错的现象 , 成因分析与三种解决方案 , 全程不需要管理员权限 ;一、错误现象1、完整报错信息在 PowerShell 中执行npm -v, 得到如下输出 :PS Y:\001_DevelopTools\000_Codex npm -v npm : 无法加载文件 Y:\001_DevelopTools\000_Codex\node-v24.21.0-win-x64\npm.ps1因为在此系统上禁止运行脚本。有关详细信 息请参阅 https:/go.microsoft.com/fwlink/?LinkID135170 中的 about_Execution_Policies。 所在位置 行:1 字符: 1 npm -v ~~~ CategoryInfo : SecurityError: (:) []PSSecurityException FullyQualifiedErrorId : UnauthorizedAccess PS Y:\001_DevelopTools\000_Codex npm : 无法加载文件 Xx\npm.ps1因为在此系统上禁止运行脚本。有关详细信 息请参阅 https:/go.microsoft.com/fwlink/?LinkID135170 中的 about_Execution_Policies。 所在位置 行:1 字符: 12、报错关键点解读逐行拆解 :报错信息其实已经把答案写在了脸上 ;无法加载文件 :PowerShell 找到了npm.ps1但拒绝执行 , 说明 PATH 配置没有问题 , 卡点在脚本权限 ;在此系统上禁止运行脚本 :直接点名执行策略限制 , 并给出了官方文档关键词 about_Execution_Policies ;PSSecurityException :异常类型是安全异常 , 不是文件损坏 , 也不是依赖缺失 ;二、错误原因分析1、执行策略是什么PowerShell 的执行策略是 Windows 内置的脚本安全机制 , 用于决定是否允许运行.ps1脚本文件 ; 它不是杀毒软件 , 也不是文件系统权限问题 , 而是策略层面的白名单开关 ; 策略按作用域分层 , 常用的几档如下 :作用域含义是否需要管理员权限MachinePolicy组策略统一下发 , 企业环境常见不可修改LocalMachine整台机器永久生效需要CurrentUser当前账号永久生效不需要Process仅当前终端会话有效 , 关闭即失效不需要Windows 客户端系统的默认策略为Restricted, 即禁止运行任何.ps1脚本 , 这就是报错的直接来源 ;2、为什么 npm 会触发npm 在目录根下会同时生成两份启动 shim :npm.cmd与npm.ps1, 两种终端各取所需 :CMD 终端 :走npm.cmd批处理文件 , 批处理不受执行策略管辖 , 所以 CMD 里执行npm -v完全正常 ;PowerShell 终端 :优先选择npm.ps1脚本 , 而默认策略禁止运行一切.ps1文件 , 于是直接被拦截 ;后续 Codex CLI 的codex命令同理 , 它依赖codex.ps1shim , 不解决这个问题同样会被拦截 , 因此该步骤建议在验证 npm 之前一次性处理掉 ;三、解决方案1、推荐方案 : 设置 RemoteSigned ( 一次配置终身有效 )操作步骤 :在 PowerShell 中执行以下命令 :# 查看当前用户作用域的策略 ( 可选 , 通常输出 Restricted )Get-ExecutionPolicy-Scope CurrentUser# 允许本地脚本运行 , 远程下载脚本必须带数字签名 ( 安全与便利的平衡点 )Set-ExecutionPolicy-ExecutionPolicy RemoteSigned-Scope CurrentUser# 提示确认时输入 Y 后回车验证 :重开终端后执行npm -v, 输出版本号即解决 ;方案说明 :安全性 :RemoteSigned是微软官方推荐值 , 本地脚本 ( 如 npm.ps1 , codex.ps1 ) 可以直接运行 , 从网络下载的脚本必须有签名才能执行 , 并不会门户大开 ;影响范围 :-Scope CurrentUser只作用于当前账号 , 不需要管理员权限 , 也不会污染系统全局配置 ;持久性 :一次配置写入用户策略 , 重启终端与系统均不失效 ;2、备选方案一 : 显式调用 npm.cmd ( 零配置 )不想修改任何策略时 , 每次显式调用 cmd 版 shim 即可 :# cmd 批处理不受执行策略管辖 , 可直接运行npm.cmd-v适用场景 :公司安全红线严禁修改执行策略的环境 ; 代价是每次都要多敲.cmd四个字符 , 仅适合偶尔手动执行的场景 , 无法被依赖 ps1 shim 的工具链自动复用 ;3、备选方案二 : 会话级临时放行 ( Bypass )只在当前终端会话内临时放行 , 关闭窗口立即恢复原策略 :# 仅当前会话生效 , 关闭终端即失效 , 不写入任何持久配置Set-ExecutionPolicy-ExecutionPolicy Bypass-ScopeProcessnpm-v适用场景 :临时救急或使用公共电脑 , 不希望在系统里留下任何策略变更痕迹 ;4、三种方案对比方案关键命令生效范围持久性推荐度RemoteSignedSet-ExecutionPolicy -Scope CurrentUser当前用户永久首选调用 npm.cmdnpm.cmd -v单次命令无不改策略时的兜底Process BypassSet-ExecutionPolicy -Scope Process当前会话关终端失效临时救急四、注意事项与避坑指南现象原因处理方式设置策略后仍然报错修改后没有重开终端关闭 PowerShell 窗口重新打开再验证提示拒绝访问使用了 LocalMachine 作用域却没有管理员权限改用 -Scope CurrentUser策略无法修改MachinePolicy 组策略优先级更高联系企业管理员处理 , 个人机器不会遇到想撤销修改恢复默认严格策略Set-ExecutionPolicy -ExecutionPolicy Restricted -Scope CurrentUserCMD 里正常 PowerShell 里报错两种终端走了不同的 shim属正常现象 , 按本文方案设置策略即可总结本文核心结论 :报错本质是 PowerShell 执行策略拦截了npm.ps1shim , 与 npm 安装本身无关 ;首选方案是Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser, 一次配置 , npm 与 codex 的 ps1 shim 全部解锁 ;严禁改策略的环境用npm.cmd显式调用兜底 , 临时场景用-Scope Process会话级放行 ;核心机制一句话 : CMD 走 cmd shim 不受执行策略管辖 , PowerShell 走 ps1 shim 受执行策略管辖 ;解决该问题后 , Codex CLI 安装流程中的npm -v与后续codex --version验证即可顺利通过 ;
企业数字化 ERP 产品动态
相关推荐
YOLOv8_seg实例分割:路边非标准停车位识别与数据集训练全流程 简介:面向智能交通与城市停车管理场景的路边非标准停车位识别方案,适用于需要处理复杂道路环境的研究人员与开发者。系统基于改进YOLOv8_seg实例分割模型,能针对公交站、免费停车位、垃圾箱、禁停标志、物业入口、侧街、商店及其入口、商店保… · 2026/9/26 4:15:15
DeepSeek 2025技术报告解读:MoE与MLA架构实战指南 1. 从一份技术报告说起:DeepSeek 2025 到底在做什么2025 年对做大模型的人来说,是信息密度极高的一年。各种发布会、技术报告、开源仓库更新一波接一波,但真正让我愿意花几个晚上逐字读完的,DeepSeek 的技术报告和论文算一份。原因… · 2026/9/26 4:15:15
OpenMontage:首个本地化AI Video Agent全流程实测 1. 这不是“AI剪视频”,而是第一次看见AI Agent真正接管整条工作流 OpenMontage 这个项目名字刚冒出来的时候,我第一反应是:又一个带“AI”前缀的营销噱头?毕竟过去两年,“AI自动剪辑”四个字被贴在几十款App和SaaS服… · 2026/9/26 4:15:09
VMware安装CentOS保姆级教程---简单易懂 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 5:01:21
名字一样却找不到文件:路径大小写这一层 授权与合规声明
本文全部操作对象均为自建隔离靶场(本机容器或隔离虚拟机),涉及安全测试的环节必须以取得合法授权为前提。未经授权的渗透测试违反《中华人民共和国网络安全法》与《刑法》相关条款,须承担相应法律责任。本文只讲环… · 2026/9/26 5:01:21
从零搭建ZStack私有云:单机部署到云主机创建全流程详解 说实话,刚接触“私有云服务器搭建”这个概念的时候,我脑子里第一反应就是 OpenStack 那套庞杂的组件、一堆需要维护的中间件,搞到后面连自己都说不清某个服务到底挂没挂。后来开始认真摸 ZStack,才慢慢意识到私有云不一定非要把自… · 2026/9/26 5:01:14
机房防雷接地工程核心与避坑:等电位、接地电阻及SPD应用 1. 为什么机房的防雷接地这么容易“翻车”1.1 大多数“接地不达标”,问题不是出在验收那几天我做机房项目这么多年,见过太多“验收前临时补防雷接地”的场面。装修总包把防雷接地放到最后工序,施工队进场后赶工期,等电位端子箱装了… · 2026/9/26 5:01:14
世界国家GeoJSON从结构到体积优化:数据大屏地图数据落地指南 简介:这份世界地图地理数据合集收录了全球各国的地图 JSON 文件,面向需要快速获取国家边界与地理属性的前端开发者、GIS 分析人员及数据可视化爱好者。压缩包共包含 2000 个文件,主要为 JSON 与 GeoJSON 格式,整体大小约 2.1MB&am… · 2026/9/26 5:01:14
基于B/S架构的PPT在线评阅系统:服务端解析与自动评分实现 做在线评阅系统时,很多人第一反应是“这不就是个文件上传加打分页面吗”。等真的动手,尤其到了PowerPoint这类自带复杂排版、批注、动画逻辑的格式,才会发现坑比想象中多得多。这篇博文把我自己实现的一个基于B/S架构的Office作品在线评阅平台… · 2026/9/26 5:01:14
数据库课后习题答案别硬背:当测试用例集刷,效率翻倍 简介:万常选版《数据库原理与设计》课后习题答案资源,覆盖第2至6章及第9章,适合正在学习关系模型、数据库建模、关系数据理论与模式求精的本科生、自学者作为复习与自测材料。压缩包共7个文件,含3个doc参考答案、2个sql示例脚本、… · 2026/9/26 0:00:21
OpenClaw 替代品?Hermes Agent 踩坑实录:macOS 飞书接入 TaoToken 配置 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 0:00:40
向下兼容与向上兼容:接口设计中的兼容性策略与工程实践 一次版本升级事故,是很多团队绕不过去的坎。线上环境里,服务端明明已经上线了新版接口,老的移动端还在照着旧文档传参数。请求一到网关,校验直接拒绝,用户操作失败,客服群炸了锅,开发群里开始互… · 2026/9/26 0:00:46