初始化纱线2,添加失败

时间:2020-09-24 14:40:49

标签: yarn-v2

我正在试验2号纱和植绒。

我创建了一个新文件夹:/projects/yarn2/

根据他们的安装指南https://yarnpkg.com/getting-started我跑了

cd /projects/yarn2/
yarn set version berry
yarn init

然后(按照他们的指南https://yarnpkg.com/getting-started/usage

yarn add react

,并出现以下错误:

Usage Error: The nearest package directory (/projects/yarn2) doesn't seem to be part of the project declared in /projects.

- If the project directory is right, it might be that you forgot to list yarn2 as a workspace.
- If it isn't, it's likely because you have a yarn.lock or package.json file there, confusing the project root detection.

$ yarn add [--json] [-E,--exact] [-T,--tilde] [-C,--caret] [-D,--dev] [-P,--peer] [-O,--optional] [--prefer-dev] [-i,--interactive] [--cached] ...

我在做什么错了?

4 个答案:

答案 0 :(得分:2)

你要么没有 package.json 要么没有 yarn.lock,如果包被添加到工作区中,这会混淆纱线。只需运行以下命令,我认为您的问题必须解决。

<块引用>

cd <文件夹名称>/<项目名称>

触摸yarn.lock

纱线

答案 1 :(得分:1)

检查/ projects目录中是否有package.jsonyarn.lock文件。如果这样做,请清除它/将它们清除,然后应该可以开始工作。

答案 2 :(得分:1)

添加到以前的答案对我有用的是:

似乎 yarn.lock 文件才是真正需要的文件,所以如果您已经开始使用 yarn v1.x 并执行了 yarn init - 那么您将在项目目录中拥有一个 package.json 文件。

如果您现在通过执行 yarn set berry 切换到 yarn v2,现在如果您想通过 yarn add [whatever] 添加任何包,您将失败并显示错误。现在您需要 touch yarn.lock(或在 Windows 上只需 cat '' > yarn.lock),然后它才能正常工作。


我现在想出了一个更好/更快的方法,只需在一个空的项目文件夹中进行: yarn init -i berry 这将使用 .yarnrc.yml、package.json 和 .yarn 文件夹初始化一个新的 yarn v2 项目文件夹。检查 yarn --version - 应该回显 v2.x.x

添加一个 .gitignore 文件也很好,因为以这种方式初始化不会初始化一个新的 git repo + 不会创建一个 .gitignore 文件。 Check here on the proper .gitignore for yarn v2.

答案 3 :(得分:-1)

使用错误:最近的软件包目录(/ / 似乎不是 /中声明的项目的一部分

解决方案: 在 / 中搜索 yarn.lock package.json 文件并将其删除!