我正在试验纱线 2 和种植面。
我创建了一个新文件夹: /projects/yarn2/
根据他们的安装指南https://yarnpkg.com/getting-started我跑了
cd /projects/yarn2/
yarn set version berry
yarn init
Run Code Online (Sandbox Code Playgroud)
然后(根据他们的指南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] ...
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
检查您的 /projects 目录中是否有package.json或yarn.lock文件。如果你这样做,清除它/它们,这应该开始工作。
小智 5
您要么没有 package.json 要么没有 yarn.lock,如果在工作区中添加了包,这会混淆纱线。只需运行以下命令,我认为您的问题必须解决。
cd <文件夹名称>/<项目名称>
触摸 yarn.lock
纱
添加到以前的答案对我有用的是:
似乎yarn.lock 文件才是真正需要的,所以如果您已经从yarn v1.x 开始并执行了yarn init - 那么您将package.json在项目目录中拥有一个文件。
如果您现在通过执行 切换到yarn v2 yarn set berry,并且想要通过yarn add [whatever] 添加包,它将失败。您可以通过以下方式创建一个空文件来解决这个问题:(touch yarn.lock或在 Windows 上cat '' > yarn.lock)之后它应该可以正常工作。
我现在想出了一个更好/更快的方法,只需在一个空项目文件夹中执行此操作:
yarn init -2
这将使用 .yarnrc.yml、package.json 和 .yarn 文件夹初始化一个新的yarn v2 项目文件夹,还会初始化一个空的 .git 文件夹并添加一个适当的 .gitignore。检查依据yarn --version- 应该回显 v2.xx
| 归档时间: |
|
| 查看次数: |
2183 次 |
| 最近记录: |