如何使用纱线将全局安装的节点包链接到项目?
Posted
技术标签:
【中文标题】如何使用纱线将全局安装的节点包链接到项目?【英文标题】:How to link a globally installed node package to a project with yarn? 【发布时间】:2020-07-12 06:52:24 【问题描述】:我刚刚开始使用 yarn,但不知道如何将全局安装的包链接到项目。使用 npm 我只会运行 npm link <package-name>
但它不适用于纱线。
当我运行 yarn link <package-name>
时,它给出了这个错误:
纱线链接 v1.22.4
错误找不到名为“express”的注册包。
info 访问 https://yarnpkg.com/en/docs/cli/link 以获取有关此命令的文档。
【问题讨论】:
【参考方案1】:链接功能并不是真正用于将全局包链接到项目。它旨在将您正在处理的包链接到您正在处理的另一个项目。事实上,npm link
命令可用于将全局安装的包链接到当前项目只是 npm 的一个实现细节。来自yarn docs:
对于绝大多数包来说,拥有全局依赖项被认为是一种不好的做法,因为它们是隐式的。最好在本地添加所有依赖项,这样它们是显式的,并且使用您项目的其他任何人都可以获得相同的依赖项集。
所以你应该通过yarn add <package-name>
添加依赖项。
【讨论】:
感谢您的快速响应。我知道这不是我经常做的事情,但有没有办法实现与 yarn 的“npm link”相同的功能。 你可以用yarn global add <package>
全局安装包,然后在包的全局node_modules文件夹中运行yarn link(~/.config/yarn/global/node_modules/<package>
)。这可能不是预期用途,可能适用于您的工作流程,也可能不适用于您的工作流程。另一种选择是将包的源代码克隆到某个目录,然后在该目录中运行yarn link
。以上是关于如何使用纱线将全局安装的节点包链接到项目?的主要内容,如果未能解决你的问题,请参考以下文章