win10 PowerShellw不认npm/yarn/pnpm/cnpm/nvm等命令,CMD窗口却可以

2023-05-28 22:14:18 浏览数 (1)

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

0 人点赞