我们经常需要在vscode的中安装第三方依赖包,npm是前端目前最大的Node.js模块化管理系统,它能帮助开发者管理和发布Node.js模块。但很多时候我们在vscode的终端中执行npm install命令时经常会报以下错误:
但是在Windows的cmd命令提示符中执行npm命令是正常的。
出现以上问题的原因是windows下powershell工具的默认执行策略导致的,它有6种执行策略,默认策略是Restricted,即“不允许任意脚本的执行”。在vscode终端运行命令:
get-executionpolicy
如果结果是Restricted,那表示禁止执行脚本,如下图所示:
知道了问题的原因,那么我们只需要修改powershell默认的执行策略,让它不限制脚本执行就可以了,方法如下:
- 点击“开始”菜单按钮,在弹出的菜单栏中找到 Windows PowerShell 工具 ,如下图所示:
- 选择“以管理员身份运行”,如下图所示:
- 在命令行窗口中执行以下命令:set-executionpolicy -executionpolicy unrestricted ,如下图所示:
- 此时powshell工具询问是否更改执行策略,输入 a 后按Enter键确认即可
- 完成以上步骤后,我们再次运行以下命令:get-executionpolicy , 如下图所示:
- 可以看到执行策略已经发生更改,在vscode中运行npm相关命令,可以正常运行。