返回

Yarn link 的 Windows 陷阱

前端

在 Windows 上使用 Yarn link 时,可能会遇到一个令人沮丧的陷阱:Yarn 尝试在 C:\Users\<你的用户名>\AppData\Local\Yarn\Data\link 中创建符号链接,但经常失败。这会导致各种令人困惑的错误,包括:

  • ERR_OSSL_VERIFY_SETUP:找不到指定的模块
  • Operation not permitted
  • EPERM
  • WindowsFileOperationError

这个陷阱的原因是 Windows 默认情况下限制对 AppData 目录的符号链接创建。为了解决这个问题,您需要授予 Yarn 提升权限或使用替代方法。

解决方案:授予 Yarn 提升权限

  1. 以管理员身份打开命令提示符或 Windows PowerShell。
  2. 运行 yarn global add link
  3. 按照提示授予 Yarn 管理员权限。

解决方案:使用 npm link

如果授予 Yarn 提升权限不是一种选择,您可以使用 npm link 作为替代方案:

  1. 打开一个命令提示符或 Windows PowerShell。
  2. 导航到包的根目录。
  3. 运行 npm link
  4. 在另一个终端中,导航到要链接包的项目目录。
  5. 运行 npm link <package-name>

替代解决方案:手动创建符号链接

如果您不希望授予 Yarn 提升权限或使用 npm,可以手动创建符号链接:

  1. 打开一个提升的命令提示符或 Windows PowerShell。
  2. 导航到 C:\Users\<你的用户名>\AppData\Local\Yarn\Data\link 目录。
  3. 运行以下命令(替换 <package-name> 为包名称):
mklink /D <package-name> <path-to-package>

例如:

mklink /D express-generator C:\Users\john\node_modules\express-generator

最佳实践

为了避免将来出现问题,请遵循以下最佳实践:

  • 全局安装 Yarn: 全局安装 Yarn,这样您就不必每次在提升的终端中运行它。
  • 使用 yarn link 使用 yarn link 而不是 npm link,因为它提供了一个更简单的界面。
  • 手动创建符号链接: 如果 Yarn link 无法正常工作,请尝试手动创建符号链接。

遵循这些技巧可以帮助您避免 Windows 上使用 Yarn link 时遇到的陷阱,并确保您的开发流程顺利进行。