一、 问题如下:
网上找到的解决方法是要在powershell中执行:
Set-ExecutionPolicy RemoteSigned
进行更改策略。
首先我们解释下这个Set-ExecutionPolicy RemoteSigned
,Set-ExecutionPolicy
是一个 PowerShell 命令,用于控制脚本的执行策略。RemoteSigned
是其中一个执行策略选项,表示本地编写的脚本可以自由执行,但是从远程来源(例如 Internet)下载的脚本必须由受信任的发布者签名才能执行。
如果你想将执行策略设置为 RemoteSigned
,可以按照以下步骤操作:
-
打开 PowerShell(
以管理员身份运行
) -
输入以下命令并按 Enter 键执行:
Set-ExecutionPolicy RemoteSigned
-
确认更改,根据提示输入 “Y” 或 “A”(全部)。
-
但是我这边执行更改失败,如下图:
二、解决
- 打开windows PowerShell窗口(可以按下win键直接搜索),输入以下内容:
- 第一种写法
Set-ExecutionPolicy -Scope CurrentUser
然后提示输入:
RemoteSigned
- 第二种更改方法
Set-ExecutionPolicy -Scope CurrentUser RemoteSigned
- 含义
Set-ExecutionPolicy -Scope CurrentUser RemoteSigned
是 PowerShell 命令,用于设置当前用户的脚本执行策略为RemoteSigned
。
-
Set-ExecutionPolicy
: 这是 PowerShell 的一个命令,用于设置脚本的执行策略。 -
-Scope CurrentUser
: 这是命令的一个参数,用于指定执行策略的作用范围。在这里,CurrentUser
表示只对当前用户生效,不会影响其他用户。 -
RemoteSigned
: 这是要设置的执行策略选项之一。RemoteSigned
表示对于本地编写的脚本,可以自由执行,但对于从远程来源(如互联网)下载的脚本,必须由受信任的发布者签名才能执行。这是一种折衷的安全策略,允许本地脚本自由运行,同时确保从外部获取的脚本经过验证。
三、执行Set-ExecutionPolicy RemoteSigned
- 经过以上更改,
重新以管理员身份打开Power Shell
,输入:
Set-ExecutionPolicy RemoteSigned
- 输入Y或者 A
- 通过以上操作即可使用cnpm