【问题标题】: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 以获取有关此命令的文档。

【问题讨论】:

    标签: npm yarnpkg


    【解决方案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
    猜你喜欢
    • 2017-07-19
    • 2017-09-16
    • 1970-01-01
    • 1970-01-01
    • 2016-11-11
    • 1970-01-01
    • 1970-01-01
    • 2019-08-01
    • 1970-01-01
    相关资源
    最近更新 更多