1. 原因
有一次下载了pnpm
并配置环境后,不知道是不是配置环境的时候操作错了还是其他什么原因。再次打开一个项目使用 npm
或 pnpm
命令的时候就报错了。
首先理解一下报错信息的意思,无法加载npm
下载时文件存放的路径(D:\Node\node_global)下的npm.ps1
这个文件,打开一看是关于执行在powershell上,node环境下执行npm
相关命令的脚本,当我们使用npm命令的时候,操作系统会首先去执行这个文件,然后去判断我们输入的命令要实现什么操作。
2. 解决
现在npm
命令都没有办法执行,而且提示是在系统上禁用,可以想到先查看一下执行权限,在终端输入一下命令:
get-ExecutionPolicy
这时候会显示:
Restricted
说明执行该脚本的权限被限制了,所以可以设置一下用户权限,在终端继续输入:
set-ExecutionPolicy -Scope CurrentUser
接下来应该会显示:
位于命令管道位置 1 的 cmdlet Set-ExecutionPolicy
请为以下参数提供值:
ExecutionPolicy:
在ExecutionPolicy
后面输入 remotesigned
,再次运行npm命令就可以啦!