问题描述 :
今天完整一个项目的依赖包时,使用npm -v查看版本给出如下信息
解决办法:
1、在终端输入get-ExecutionPolicy查看执行策略/权限;
2、输出:Restricted(受限制的);
3、终端输入Set-ExecutionPolicy -Scope CurrentUser命令给用户赋予权限;
4、输入:RemoteSigned;
5、终端输入get-ExecutionPolicy查看,显示RemoteSigned就可以了;
再次运行npm -v显示正常
疑问解答:
百娘后发现此问题是windows Powershell的使用问题。下面对其进行粗略的介绍。熟知的童鞋可以直接略过。
1、什么是windows Powershell
百度百科给出的定义:Windows PowerShell 是微软发布的一种命令行外壳程序和脚本环境,使命令行用户和脚本编写者可以利用 .NET Framework的强大功能。说简单点就是PowerShell是运行在Windows操作系统上实现对系统以及应用程序进行管理自动化的命令行脚本环境,PowerShell需要.NET环境的支持,借助.NET Framework平台强大的类库,几乎让一切都成为可能。
2、如何启动windows Powershell
PowerShell从Windows7开始已经内置于Windows操作系统中,因此,我们无须安装就可以使用。
a)打开运行窗口(Windows徽标键+R) -> PowerShell -> 点击确定或者回车即可打开PowerShell窗口。
b)点击开始菜单->所有程序->Windows PowerShell->Windows PowerShell。启动成功后和上图一样
c)命题提示符(cmd)-> 输入PowerShell ->回车即可进入PowerShell窗口。
3、如何使用Windows Powershell
a)命令命名方式简单:动词+名词
PowerShell推出了一个功能强大的命令cmdlet,所有的cmdlet命令都遵循动词-名词这样语法结构。如Get-Command, Get-Process等。
b)查找PowerShell命令
PowerShell提供了Get-Command命令,可以查找所有的cmdlet命令。
当我们需要查找一个指定的命名时,使用Get-Command –Name “命令名称”即可。如 Get-Command –Name Get-Process。
Get-Command还支持模糊查询,如Get-Command –Name *Process(‘*’在PowerShell中代表通配符,可以匹配一个或者多个字符)就是查找所有以Process结尾的命令。
c)获取PowerShell命令的帮助
PowerShell提供了Get-Help命令,使用Get-Help就可以查询PowerShell命令的作用,如Get-Help –Name Get-Process。
d)获取PowerShell对象的属性
PowerShell命令的返回值都是一个对象,如Get-Command, get-Help, Get-Process等,利用PowerShell提供的Get-Member获取对象的属性,如Get-Date | Get-Member
深入学习资源
如果想更加深入的学习PowerShell可以点击下方的连接深入、详细的学习,或者经由度娘找到更多的资料。
PowerShell: 作为一个PowerShell菜鸟,如何快速入门?掌握这些就够了_powershell菜鸟教程-CSDN博客