📌  相关文章
📜  文件 \AppData\Roaming\npm\yarn.ps1 未进行数字签名. - Shell-Bash (1)

📅  最后修改于: 2023-12-03 14:55:01.920000             🧑  作者: Mango

介绍

如果你是一名Web开发人员,那么你一定会用到Node.js。而Node.js的包管理工具,最常见的是npm和yarn。不过,有时候你可能会在使用yarn时,遇到类似以下的问题:

警告: 文件 C:\Users\<username>\AppData\Local\Yarn\bin\yarn.ps1 未进行数字签名。 PowerShell 禁止未经数字签名的脚本执行。有关详细信息,请参阅 https:/go.microsoft.com/fwlink/?LinkID=135170。
在行:1 字符: 1
+ . 'C:\Users\<username>\AppData\Local\Yarn\bin\yarn.ps1' install
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : SecurityError: (:) [],PSSecurityException
    + FullyQualifiedErrorId : UnauthorizedAccess

这段信息说明了一个问题:我们在执行yarn命令时遇到了未签名的脚本。虽然你在使用之前可以选择忽略这个警告,但是为了保证你的安全,建议你尽量不要继续使用未签名的文件。

问题分析

数字签名是什么?

数字签名,顾名思义,就是数字化的签名。它是一种用于保护数字文档完整性和可信性的技术,以确定文件、信息或电子邮件的来源和完整性。通过在数字文档中嵌入数字签名,可以防止人们对文件进行篡改、修改、伪造或损坏。

为什么未签名的文件会出现警告?

Windows PowerShell是一种命令行界面(CLI)工具,它可以执行命令和脚本。然而,PowerShell并不信任未签名的脚本。因为,未签名脚本有可能被人在使用时篡改,这对于计算机系统来说是很危险的。为了在使用时避免出现问题,PowerShell会在执行未签名脚本时发出警告,提醒用户尽可能使用签名过的脚本。

如何解决未签名文件的警告?

会出现未签名的文件警告,大多数情况下要看你具体使用的软件及其发布者是否在线签过名。你需要了解以下几种方法,其中某些方法可能取决于软件包管理器的版本。

方法1:使用忽略验证的方式执行脚本。

你可以使用以下命令来忽略对脚本的验证。

Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass

不过,建议你在执行之前再次确认该文件是否值得信任。

方法2:下载签名过的可执行文件

你可以从软件发布者或其他受信任的源下载签名过的可执行文件,以避免使用未签名文件。这样做可以最大程度地减少出现问题的风险。

方法3:签名脚本

如果您是软件包发布者或你有足够的权限,你可以尝试为你的脚本签名。在签名之前,你需要购买数字证书,并按照相应的方法进行证书的配置。接着,你需要使用PowerShell提供的命令来签名脚本。

结论

在使用yarn包管理工具时,出现未签名文件警告是一种常见的问题。建议你使用签名过的可执行文件,确保安全。如果你想要使用未签名文件,请确保该文件是值得信任的,否则可能会对你的计算机系统造成危险。