写在前面

最近在写ts项目时在powershell中输入tsc --init会发生以下错误

1
2
3
4
5
6
7
tsc : 无法加载文件 XXXX文件,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/
go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。
所在位置 行:1 字符: 1
+ tsc -v
+ ~~~
+ CategoryInfo : SecurityError: (:) [],PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess

原因以及解决办法

  • powershell默认开启Restricted(禁止执行所有脚本)原因大概看到就明白了出于安全考虑嘛!(虽然但是啊cmd不还是可以执行脚本吗)
  • 解决方式很简单在用管理员身份启动powershell然后可以输入以下命令查看或更改
1
2
Get-ExecutionPolicy #查看当前执行的策略
Set-ExecutionPolicy RemoteSigned #更改策略为允许运行本地计算机上签名的脚本和来自受信任的远程发布者的脚本

除此之外还可以设置以下策略

1
2
3
4
Restricted:禁止执行所有脚本;
AllSigned:只允许运行已经签名的脚本;
RemoteSigned:允许运行本地计算机上签名的脚本和来自受信任的远程发布者的脚本;
Unrestricted:允许在本地计算机上执行任何脚本。