问题:vscode中执行nrm命令时出现禁止执行脚本(nvm也出现这个问题)
处理:
一般出现这种情况是由于vscode中新建的终端PowerShell的执行策略限制了没有签名的脚本执行
使用Get-ExecutionPolicy查看执行策略
Get-ExecutionPolicy
可以看到当前的执行策略是Restricted
下面是策略说明
策略 | 说明 |
---|---|
Restricted | 默认策略,禁止运行任何脚本,除非明确允许 |
AllSigned | 只允许运行经由数字签名并由受信任的发布者签名的脚本 |
RemoteSigned | 允许运行未经签名的脚本,但是必须由受信任的发布者在本地计算机上签名 |
Unrestricted | 允许运行所有脚本 |
解决:更改终端PowerShell的执行策略
-
方式一:
临时更改执行策略(仅对当前PowerShell会话有效)
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope Process
系统可能会提示确认操作,按Y键并回车以确认更改
-
方式二
永久更改执行策略(对当前用户或所有用户生效)
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
重启vscode后,nrm使用正常(nvm同理)