win10 powerShell 全局按照nvm、npm、pnpm、yarn等命令后,发现powerShell窗口不认这些命令,但是DOS cmd 窗口却可以。
代码语言:javascript复制# 以管理员身份运行power shell
set-executionpolicy remotesigned
根据提示,输入A,回车
再次回到pnpm -v执行成功。
但是一些同事却说不行,原来他不是超管
代码语言:javascript复制Set-ExecutionPolicy -Scope CurrentUser
这样就可以了,如果不成功,就输入y试试。
这么命名是干什么用的?
具体查看:https://learn.microsoft.com/zh-cn/powershell/module/microsoft.powershell.core/about/about_execution_policies?view=powershell-7.3
PowerShell 执行策略
仅在 Windows 平台上强制执行这些策略。 PowerShell 执行策略如下所示:
Unrestricted
- 非 Windows 计算机的默认执行策略,无法更改。
- 未签名的脚本可以运行。 存在运行恶意脚本的风险。
- 在运行不来自本地 Intranet 区域的脚本和配置文件之前警告用户。
AllSigned
- 脚本可以运行。
- 要求所有脚本和配置文件都由受信任的发布者签名,包括在本地计算机上编写的脚本。
- 从尚未分类为受信任或不受信任的发布者运行脚本之前,会提示你。
- 运行已签名但恶意脚本的风险。
Bypass
- 不阻止任何操作,并且没有任何警告或提示。
- 此执行策略适用于 PowerShell 脚本内置于较大应用程序的配置,或针对 PowerShell 是具有自身安全模型的程序基础的配置。
Default
- 设置默认执行策略。
- Restricted 适用于 Windows 客户端的 。
- 适用于 Windows 服务器的 RemoteSigned。
RemoteSigned
- Windows Server 计算机的默认执行策略。
- 脚本可以运行。
- 需要受信任的发布者对从 Internet 下载的脚本和配置文件(包括电子邮件和即时消息程序)的数字签名。
- 不需要在本地计算机上编写且未从 Internet 下载的脚本上使用数字签名。
- 如果未阻止脚本(例如使用 cmdlet),则运行从 Internet 下载且未签名的 Unblock-File 脚本。
- 运行来自 Internet 以外的源的未签名脚本以及可能是恶意的已签名脚本的风险。
Restricted
- Windows 客户端计算机的默认执行策略。
- 允许单个命令,但不允许脚本。
- 阻止运行所有脚本文件,包括格式化和配置文件 () .ps1xml 、模块脚本文件 (.psm1) ,以及 PowerShell 配置文件 () .ps1 。
Undefined
- 当前范围内没有设置执行策略。
- 如果所有范围内的执行策略都是 Undefined,则有效的执行策略 Restricted 适用于 Windows 客户端, RemoteSigned 适用于 Windows Server。
参考文章:
pnpm使用 https://www.cnblogs.com/ziyue7575/p/16826240.html
执行 set-ExecutionPolicy RemoteSigned 失败解决方法 https://blog.csdn.net/lzfengquan/article/details/119413300
转载本站文章《win10 PowerShellw不认npm/yarn/pnpm/cnpm/nvm等命令,CMD窗口却可以》, 请注明出处:https://www.zhoulujun.cn/html/OS/Windows/WindowsTips/2023_0506_8945.html