如何在 Yarn 2 中列出和使用包?
Posted
技术标签:
【中文标题】如何在 Yarn 2 中列出和使用包?【英文标题】:How to list and use packages in Yarn 2? 【发布时间】:2020-10-03 04:40:51 【问题描述】:由于我是 Yarn 的初学者,因此我遵循了当前的 Yarn 教程,它描述了 Yarn 2。所以我安装了 Yarn 2。yarn --version
命令给出了2.0.0-rc.34
。
但 Yarn 2 似乎缺少显示本地安装的软件包列表的命令。我知道 Yarn 1 有 list
命令,但我在 Yarn 2 中找不到任何类似的命令。
我将 Yarn 2 用于一个新的空项目,我使用命令 yarn add -D webpack webpack-cli
添加了 webpack。 Yarn 2 似乎存储包的方式完全不同——它没有创建node_modules
目录,它似乎使用.yarn
目录来存储包。所以npm list
什么也没显示。
此外,当我尝试npx webpack --help
时,npm 找不到 webpack,并建议使用yarn add -D
安装它,尽管我已经这样做了。
那么如何查看所有已安装包的列表,以及如何使用 Yarn 2 让 npm 看到它们?
我的系统是 Linux Mint 19.3,Node.js 版本是 12.18.0,npm 版本是 6.14.4。 Node.js 是从 deb.nodesource.com/node_12.x 存储库安装的。
【问题讨论】:
重要的是要意识到npm
和yarn
都是节点包管理器。所以你安装的任何一个都不能被另一个看到。
@MwamiTovi,当我使用 Yarn 1 安装软件包时,它们会出现在 node_modules
中,所以 npm 完美地 可以看到它们。它们是可以互换的。但这不是 Yarn 2 的情况。这并不清楚问题,如何用 Yarn 2 本身做到这一点。
【参考方案1】:
不是及时响应,但它可能仍然有用。使用 Yarn 2.4.0,在你的 repo 的根目录中运行 yarn info --recursive --dependents
将列出它们。还有其他选择,查看yarn info
【讨论】:
【参考方案2】:Yarn 2 确实还没有list
命令,但是有一个添加它的请求(https://github.com/yarnpkg/berry/issues/720)。
Yarn 2 确实以不同的方式存储包,与 Yarn 1 相比,它与 npm
不兼容。
要使用 Yarn 2 启动 webpack,可以使用 yarn run webpack
甚至 yarn webpack
。
【讨论】:
以上是关于如何在 Yarn 2 中列出和使用包?的主要内容,如果未能解决你的问题,请参考以下文章