标签: yarnpkg-v3

无法通过 corepack 安装 Yarn

环境:Windows、Node 16.18.0、Corepack 0.14.1

我按照这些说明安装 Yarn。

当我跑步corepack prepare yarn@3.2.4corepack prepare yarn@3.2.4 --activate

我收到以下错误:

Preparing yarn@3.2.4... Internal Error: ENOENT: no such file or directory, stat 'C:\Users\rashiditaba\AppData\Local\node\corepack\yarn\3.2.4' Error: ENOENT: no such file or directory, stat 'C:\Users\***\AppData\Local\node\corepack\yarn\3.2.4'
Run Code Online (Sandbox Code Playgroud)

nvm yarnpkg-v3 corepack

14
推荐指数
3
解决办法
9141
查看次数

为什么“Yarn 2”是Yarn 3.0.1?

为什么 Yarn 不直接称为 Yarn 2 Yarn 3 而是称为Yarn 2

yarn --version
Run Code Online (Sandbox Code Playgroud)

输出:

3.0.1
Run Code Online (Sandbox Code Playgroud)

或者甚至称其为浆果?我不明白命名约定。

javascript node.js yarnpkg yarnpkg-v2 yarnpkg-v3

9
推荐指数
1
解决办法
8287
查看次数

如何使用 Yarn v3 安装本地包?

我尝试使用 Yarn v3 安装本地包,结果撞到了墙上。这是我尝试过的所有事情:

  1. 跑步yarn add file:../hardhat-packager
  2. 跑步yarn add ../hardhat-packager
  3. 手动添加"hardhat-packager": "file:../hardhat-packager"进去package.json
  4. 手动添加"hardhat-packager": "../hardhat-packager"进去package.json

上述所有情况都会导致 Yarn 在安装步骤中卡住,如下图所示。我等了五分钟多,并确保我的互联网连接速度很快。

我知道有一个链接包的选项,但这并不是我想要的。我不需要符号链接,我想要复制实际的包文件。

我怎样才能做到这一点?我正在使用 Yarn v3.2.0

纱线卡住

node.js package.json yarnpkg yarnpkg-v3

9
推荐指数
1
解决办法
7447
查看次数

纱线设置版本不起作用。无法从yarn 3.0.0更改为yarn 2.0.0

当前的纱线版本是纱线3.0.0。尝试使用更改为yarn 2.0.0 yarn set version 2.0.0-rc.30。即使在那之后,yarn 版本仍然保持在yarn 3.0.0。

我尝试过的其他替代方案: npm uninstall -g yarnthen npm install -g yarn。仍然纱线版本保持在 3.0.0。

更新:

  • 从根目录删除yarnrc 文件后,设法将yarn 版本提升到2.0。

yarnpkg yarnpkg-v2 yarnpkg-v3

8
推荐指数
1
解决办法
7306
查看次数

通过本地开发解析的 Yarn 2/3 链接中断了分期

刚刚从 Yarn 1 升级到 Yarn 3。

在我的package.json“项目 1”中,我对已发布的包有依赖关系

dependencies: {
  ...
  "@my-package/name": "3.4"
  ...
}
Run Code Online (Sandbox Code Playgroud)

package.json当将“Project 1”链接到“@my-package/name”进行本地开发时, Yarn 1 没有改变 ,效果很好。

将我的本地版本的包与 Yarn 2/3 链接起来,现在添加了

  "resolutions": {
    "@my-package/name": "portal:../name"
  }
Run Code Online (Sandbox Code Playgroud)

这会破坏临时/生产环境中部署期间的构建过程。该链接仅适用于本地开发,而在其他环境中应忽略它并且(仅)应使用上面发布的包。知道现在这是否/如何可能吗?

这是有关该问题/更改的票证https://github.com/yarnpkg/berry/issues/90

package.json yarnpkg yarnpkg-v2 yarnpkg-v3

7
推荐指数
1
解决办法
5448
查看次数

如何在安装后运行安装后脚本

我正在从 迁移yarn version 1.22yarn v3.2.3。我有一个prepare安装后自动运行的脚本。

我的prepare脚本生成一些文件(FIY Nuxt 3 生成的文件)。

它不再在纱线 3 上运行,我怎样才能获得相同的效果?我在https://yarnpkg.com/advanced/lifecycle-scripts上找不到它。也许我读错了。

yarnpkg-v3

6
推荐指数
1
解决办法
3619
查看次数

如何在配置了 TS 引用的 monorepo 上正确配置 Yarn 2 PnP?

简而言之:对于下面描述的项目,我如何才能最好地进行配置以使两个应用程序(客户端+服务器)运行?

我正在开发一个运行时间较长的项目,随着时间的推移,该项目演变成一个单一的存储库。我无法共享完整的代码,因为该项目是私有的,但该项目大致具有以下结构,并用数字标记,因此我可以在此示例中轻松引用特定文件:

<repo-root>/
1 个包.json
2 tsconfig.json
   客户/
3 包.json
4 tsconfig.json
     页数/
       索引.tsx
   全球的/
5 包.json
6 tsconfig.json
     源代码/
9 索引.ts
     建造/
       索引.js
       索引.d.ts
   服务器/
7 包.json
8 tsconfig.json
     源代码/
       索引.ts
     垃圾桶/
       索引.js

具体来说,客户端包含一个NextJS项目,服务器包含一个NodeJS Express服务器,全局目录包含客户端和服务器都使用的一些共享功能和接口。

客户端和服务器能够通过 typescript 项目引用访问 global,以及使用 typescript 别名映射@global/到客户端上的 global/src 目录以及服务器上的 global/build 目录,如 tsconfig 文件中所示以下。之所以在global中有一个build目录,是因为我们在服务器中有一个编译环境;服务器应用程序的构建tsc和运行node server.js(大致)。以下是编号的文件,放入 Pastebin 中,这样帖子就不会很大:

  1. /package.json
  2. /tsconfig.json
  3. /客户端/package.json
  4. /客户端/tsconfig.json
  5. /global/package.json
  6. /global/tsconfig.json
  7. /服务器/package.json

8 是一个代码片段,因为我当天的访客粘贴用完了:

 <repo-root>/
1  package.json
2  tsconfig.json
   client/
3    package.json
4    tsconfig.json …

typescript yarnpkg-v3

5
推荐指数
0
解决办法
1178
查看次数

未找到命令:如果使用 Yarn v3 (berry) 运行 package.json 脚本时

我将我们的项目yarn从v1.22升级到v3.1.1。我们使用工作区,所以我有那个插件。一切看起来都很好;其他脚本可以工作,但是当尝试使用 shell 命令时,我收到此错误:

> yarn run start
command not found: if
command not found: then
command not found: fi
Run Code Online (Sandbox Code Playgroud)

这是我们的 package.json 中的脚本:

> yarn run start
command not found: if
command not found: then
command not found: fi
Run Code Online (Sandbox Code Playgroud)

npm-scripts yarnpkg yarnpkg-v3

5
推荐指数
1
解决办法
1201
查看次数

GitHub Actions 上的 Yarn 安装失败

我们有一个基于 Yarn 的 monorepo,最新的 Yarn 版本为 3.2.0。我们正在得到yarn install我们在 GitHub 工作流程上

\n
Run yarn install\n\xe2\x9e\xa4 YN0000: \xe2\x94\x8c Resolution step\nResolution step\n\xe2\x9e\xa4 YN0000: \xe2\x94\x94 Completed in 1s\n\n\xe2\x9e\xa4 YN0000: \xe2\x94\x8c Post-resolution validation\nPost-resolution validation\n\xe2\x9e\xa4 YN0000: \xe2\x94\x94 Completed in 0s 226ms\n\xe2\x9e\xa4 YN0000: Failed with errors in 1s 236ms\n
Run Code Online (Sandbox Code Playgroud)\n

当我们团队的大多数成员生成文件时yarn.lock,除了一名团队成员能够生成工作文件外,就会发生这种情况yarn.lock在工作流程中工作的工作之外,就会发生这种情况。奇怪的是,他正在运行与大多数其他开发人员(MBP、Node 16)非常相似的设置。

\n

知道是什么原因造成这种情况以及我们如何找到更多信息吗?

\n

yarn-workspaces github-actions yarnpkg-v3

4
推荐指数
1
解决办法
6899
查看次数

使用纱线进行新的 Nuxtjs 安装不起作用

我只是使用(按照文档)创建一个新的 nuxt 应用程序:

\n
yarn create nuxt-app appname\n
Run Code Online (Sandbox Code Playgroud)\n

然后我切换到该目录并运行(按照文档):

\n
yarn dev\n
Run Code Online (Sandbox Code Playgroud)\n

并得到以下错误:

\n
 \xe2\x9c\x96 Nuxt Fatal Error                                                                                                                                                                                                \xe2\x94\x82\n   \xe2\x94\x82                                                                                                                                                                                                                     \xe2\x94\x82\n   \xe2\x94\x82   Error: @nuxt/components tried to access consola (a peer dependency) but it isn't provided by its ancestors; this makes the require call ambiguous and unsound.                                                    \xe2\x94\x82\n   \xe2\x94\x82                                                                                                                                                                                                                     \xe2\x94\x82\n   \xe2\x94\x82   Required package: consola                                                                                                                                                                                         \xe2\x94\x82\n   \xe2\x94\x82   Required by: @nuxt/components@virtual:4eff43f3a560be194e6097f872c9d8ed0666b260b73fc7573cd09c38d17c2e2d252932f70636f4f4a6035fee79be6a699b4f9693d4a20ba4eb5c9b359f2413a9#npm:2.1.8 (via                             \xe2\x94\x82\n   \xe2\x94\x82   /home/ev/Documents/Projects/firebase-test/f-test/.yarn/__virtual__/@nuxt-components-virtual-7192147023/0/cache/@nuxt-components-npm-2.1.8-189d4bc3ff-b2ab70da20.zip/node_modules/@nuxt/components/dist/)          \xe2\x94\x82\n   \xe2\x94\x82                                                                                                                                                                                                                     \xe2\x94\x82\n   \xe2\x94\x82   Ancestor breaking the chain: nuxt@npm:2.15.7                                                                                                                                                                      \xe2\x94\x82\n   \xe2\x94\x82                                                                                                                                                                                                                     \xe2\x94\x82\n   \xe2\x94\x82                                                                                                                                                                                                                     \xe2\x94\x82\n   \xe2\x94\x82   Require …
Run Code Online (Sandbox Code Playgroud)

installation yarnpkg nuxt.js yarnpkg-v3

3
推荐指数
1
解决办法
2088
查看次数

Heroku 未对 Yarn v3 使用缓存

尝试让 Heroku 使用工作区为 Yarn v3 使用缓存模块。我有以下内容:

\n

package.json

\n
"engines": {\n    "node": "16.x",\n    "yarn": "3.x"\n  },\n  "cacheDirectories": [\n    "node_modules",\n    "packages/components/node_modules",\n    "packages/lib/node_modules",\n    "packages/schema/node_modules",\n    "packages/web/node_modules",\n    "packages/web/.next/cache"\n  ]\n
Run Code Online (Sandbox Code Playgroud)\n

heroku-buildpack-features

\n
cache-native-yarn-cache=true\n
Run Code Online (Sandbox Code Playgroud)\n

Heroku 输出:

\n
-----> Creating runtime environment\n       \n       NPM_CONFIG_LOGLEVEL=error\n       USE_YARN_CACHE=true\n       NODE_VERBOSE=false\n       NODE_ENV=production\n       NODE_MODULES_CACHE=true\n       \n-----> Installing binaries\n        !     You don't need to specify Yarn engine. Heroku will install the latest Yarn 1.x, so that per project version can be used. More information here: https://yarnpkg.com/getting-started/install#global-install\n              https://devcenter.heroku.com/articles/nodejs-support\n       \n       engines.node (package.json):  16.x\n …
Run Code Online (Sandbox Code Playgroud)

heroku yarnpkg yarn-workspaces yarnpkg-v2 yarnpkg-v3

3
推荐指数
1
解决办法
1977
查看次数

Yarn berry 安装node_modules

node.js 版本:16.14.0\nyarn 版本:3.1.1\nmacOS:11.6.4(Big Sur)

\n

我建立并继续致力于纱线工作区项目。我在 github 存储库上提交了包括.yarn, .pnp.cjs,在内的所有文件。.pnp.loader.mjs

\n

然而,我更换电脑后遇到了问题。

\n

当我尝试克隆存储库并yarn install从桌面计算机执行时,它删除了文件并安装.pnp.cjs了..pnp.loader.mjsnode_modules

\n

其他同事没有遇到这个问题,我的另一台笔记本电脑上也没有遇到这个问题。Node和其他版本是一样的。

\n

我多次尝试删除并重新安装该存储库,但结果也是一样。

\n

我知道当依赖项包含二进制文件时,尽管使用 Yarn berry,仍然可以安装 node_modules。但我认为情况并非如此。

\n

node_modules下面是安装时的 shell 消息。

\n
\xe2\x9e\xa4 YN0000: \xe2\x94\x8c Resolution step\n\xe2\x9e\xa4 YN0000: \xe2\x94\x94 Completed\n\xe2\x9e\xa4 YN0000: \xe2\x94\x8c Fetch step\n\xe2\x9e\xa4 YN0000: \xe2\x94\x94 Completed in 0s 353ms\n\xe2\x9e\xa4 YN0000: \xe2\x94\x8c Link step\n\xe2\x9e\xa4 YN0076: \xe2\x94\x82 @swc/core-android-arm-eabi@npm:1.2.126 The darwin-x64 architecture is incompatible with this module, link skipped.\n\xe2\x9e\xa4 YN0076: \xe2\x94\x82 @swc/core-android-arm64@npm:1.2.126 The darwin-x64 architecture …
Run Code Online (Sandbox Code Playgroud)

node-modules yarnpkg yarn-workspaces yarnpkg-v3

2
推荐指数
1
解决办法
2046
查看次数

无法使用 coc-tsserver 找到模块 (ts2307)

在此输入图像描述

我正在使用 NeoVim 和 CoC 来进行支持yarn-3 pnp 的项目的 TS 开发。在某些时候,编辑器不再看到导入并开始抱怨导入的模块不存在。(参见屏幕截图)。我已经为vim配置了SDK并安装了ts sdks,更新了yarn并重新启动了编辑器。以下是一些详细信息: 操作系统:

DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=22.04
DISTRIB_CODENAME=jammy
DISTRIB_DESCRIPTION="Ubuntu 22.04.1 LTS"
Run Code Online (Sandbox Code Playgroud)

尼奥维姆:

NVIM v0.7.2
Build type: Release
LuaJIT 2.1.0-beta3
Compiled by team+vim@tracker.debian.org
Run Code Online (Sandbox Code Playgroud)

包.json:

{
  "private": true,
  ...
  "devDependencies": {
    "typescript": "4.5.5",
  },
  "packageManager": "yarn@3.5.0"
}
Run Code Online (Sandbox Code Playgroud)

.yarnrc.yml

checksumBehavior: update

nodeLinker: pnp

plugins:
  - path: .yarn/plugins/@yarnpkg/plugin-workspace-tools.cjs
    spec: "@yarnpkg/plugin-workspace-tools"
  - path: .yarn/plugins/@yarnpkg/plugin-typescript.cjs
    spec: "@yarnpkg/plugin-typescript"

yarnPath: .yarn/releases/yarn-3.5.0.cjs
Run Code Online (Sandbox Code Playgroud)

tsconfig.json:

{
  "compilerOptions": {
    "outDir": "./dist/",
    "noImplicitAny": true,
    "skipLibCheck": true,
    "module": "es6",
    "target": "es6",
    "jsx": "react",
    "allowJs": true,
    "moduleResolution": "node",
    "resolveJsonModule": …
Run Code Online (Sandbox Code Playgroud)

typescript neovim coc.nvim yarnpkg-v3

2
推荐指数
1
解决办法
530
查看次数