vscode无法使用nrm(nvm)命令问题记录

200 阅读1分钟

问题:vscode中执行nrm命令时出现禁止执行脚本(nvm也出现这个问题)

image.png

处理:

一般出现这种情况是由于vscode中新建的终端PowerShell的执行策略限制了没有签名的脚本执行

使用Get-ExecutionPolicy查看执行策略

Get-ExecutionPolicy

image.png

可以看到当前的执行策略是Restricted

下面是策略说明

策略说明
Restricted默认策略,禁止运行任何脚本,除非明确允许
AllSigned只允许运行经由数字签名并由受信任的发布者签名的脚本
RemoteSigned允许运行未经签名的脚本,但是必须由受信任的发布者在本地计算机上签名
Unrestricted允许运行所有脚本

解决:更改终端PowerShell的执行策略

  • 方式一:

    临时更改执行策略(仅对当前PowerShell会话有效)

    Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope Process
    

    系统可能会提示确认操作,按Y键并回车以确认更改

  • 方式二

    永久更改执行策略(对当前用户或所有用户生效)

    Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
    

image.png

重启vscode后,nrm使用正常(nvm同理)