返回
Yarn link 的 Windows 陷阱
前端
2023-11-20 03:22:55
在 Windows 上使用 Yarn link 时,可能会遇到一个令人沮丧的陷阱:Yarn 尝试在 C:\Users\<你的用户名>\AppData\Local\Yarn\Data\link
中创建符号链接,但经常失败。这会导致各种令人困惑的错误,包括:
ERR_OSSL_VERIFY_SETUP:找不到指定的模块
Operation not permitted
EPERM
WindowsFileOperationError
这个陷阱的原因是 Windows 默认情况下限制对 AppData
目录的符号链接创建。为了解决这个问题,您需要授予 Yarn 提升权限或使用替代方法。
解决方案:授予 Yarn 提升权限
- 以管理员身份打开命令提示符或 Windows PowerShell。
- 运行
yarn global add link
。 - 按照提示授予 Yarn 管理员权限。
解决方案:使用 npm link
如果授予 Yarn 提升权限不是一种选择,您可以使用 npm link
作为替代方案:
- 打开一个命令提示符或 Windows PowerShell。
- 导航到包的根目录。
- 运行
npm link
。 - 在另一个终端中,导航到要链接包的项目目录。
- 运行
npm link <package-name>
。
替代解决方案:手动创建符号链接
如果您不希望授予 Yarn 提升权限或使用 npm,可以手动创建符号链接:
- 打开一个提升的命令提示符或 Windows PowerShell。
- 导航到
C:\Users\<你的用户名>\AppData\Local\Yarn\Data\link
目录。 - 运行以下命令(替换
<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 时遇到的陷阱,并确保您的开发流程顺利进行。