问题标签 [yarnpkg-v2]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
yarn-workspaces - 在 Yarn 2.0 中使用 yarn up 升级 yarn.lock 文件中的依赖项时出错
我正在尝试使用 Yarn 2.0 升级到我的依赖项的最新版本yarn.lock
以解决依赖机器人问题。ini
依赖项存在问题,我尝试运行yarn up ini
导致以下错误的命令:
我注意到我可以yarn up
用来升级package.json
文件中的包,但无法弄清楚如何更新yarn.lock
. 我想知道是否有人知道我应该使用什么命令?
任何帮助将不胜感激。谢谢!
yarnpkg - `yarn set version from sources` 导致“发现无法识别或遗留配置设置:changesetIgnorePatterns”
似乎无法从源代码安装纱线,我什至不知道如何调试这种东西。
我尝试过的事情:
- 自制 nodejs 和纱线
- 来自官方 pkg 的 nodejs
从我读过的文档中,changesetIgnorePatterns 应该是一个有效的配置设置,所以我唯一能想到的是 yarn 报告 v2.4.0,但在运行时以某种方式使用了旧版本。
任何有关如何排除故障的帮助或指导将不胜感激。
reactjs - 使用 create-react-app 和 Yarn 2.0 进行本地开发
我很难设置一个 React 项目来使用我的 Node 模块的本地版本。我像往常一样使用
我使用切换到 Yarn 2.0
我还将 Yarn 配置为使用node-modules
而不是 PnP。
我尝试使用链接我的依赖项
我在 App.js 中使用我的模块添加了一些代码,但是当我运行时yarn build
出现类似错误
package.json 片段由更新yarn link
我在网上看到很多人称赞这个新的 Shiny yarn 2.0 协议portal
,但是有没有人设法让它工作?!
javascript - 如何在使用 Yarn 2 的包中查找 ES5 兼容性问题?(类似于 are-you-es5)
不久前,我偶然发现了一个名为are-you-es5
https://www.npmjs.com/package/are-you-es5的漂亮 NPM 包
这有助于检查是否node_modules
是 ES5,并告诉您需要更改哪些以便在旧浏览器中加载您的网站。
如今,我正在使用 Yarn 2(与带有 PnP 的 Yarn 1 相同),但这(似乎)不起作用。
注意:我也尝试过 es-check ( https://www.npmjs.com/package/es-check ) 但这是相当个人化的,并不是检查整个项目的真正选项,尤其是当您没有使用它时开始。
如何在导入的包中仅使用 1 个命令来查找 ES5 兼容性问题?
堆:
- 反应
- 纱线2
- 打字稿
- 网页包
- 通天塔
yarnpkg - 如何使用 yarn 2 在 package.json 定义中共享依赖项?
我们正在使用yarn workspace 2 monorepo 项目。
我们的问题是,有一个 10 小项目包含(例如):
是否有任何策略如何定义 package.json 的一些 ROOT 父级并将其扩展为子级?
喜欢: 家长:
孩子:
node.js - 我们应该在 Docker 容器中复制 Yarn 缓存吗?
我阅读了一篇 docker 博客文章,该文章建议在构建 docker 容器时重新运行 npm install,因为 node_modules 可能包含为您的主机操作系统编译的二进制文件,如果它与容器操作系统不同,您将在尝试运行您的应用程序时遇到错误您正在从主机绑定安装它以进行开发。
Yarn 文档指出我们应该将yarn.lock
、yarn/cache
和文件夹签入到 repo 中yarn/plugins
。yarn/release
这就是我的 Dockerfile 的样子:
按照上述博客的建议,是否应该忽略.yarn
文件夹?
javascript - 预先提交时出现赫斯基错误:npm ERR!缺少脚本:预提交
我正在使用最新版本的纱线。我正在尝试在我的项目中设置赫斯基。
文件.huskyrc.json
:
文件lintstagedrc.json
文件package.json
错误:
如果我将其添加到以下脚本中package.json
:
然后它运行这两个命令,但是所有其他文件的配置呢?我的意思是,如果我运行 pre-commit 脚本,它只运行那些 prettier-format 和 yarn lint 命令,但它们的恢复呢?
这是我读到的https://javascript.plainenglish.io/husky-lint-staged-on-a-react-typescript-project-automate-validation-before-submitting-your-code-8d388e63be70但他从未提到过-提交脚本。
reactjs - 禁用提升时,如何将 React 库从一个 Yarn 工作区导入另一个工作区?
我正在使用 Yarn v2 (berry) 来管理具有以下结构的 monorepo:
这是我的 .yarnrc.yml:
自从我使用 React Native 应用程序以来,我已经禁用了提升。但正因为如此,react-native-app
并且my-hooks-lib
有单独的副本react@17.0.1
,即使版本相同。这会导致Invalid Hooks call
错误:
这是因为my-hooks-lib
使用了不同的 React 副本,即使版本相同。如果我像这样导入 React,它工作正常:
我让 React 成为对等依赖 inside my-hooks-lib
,但这也没有帮助,因为 Yarn 创建了一个到my-hooks-lib
inside的符号链接react-native-app
,但它无法解析 React。然后,我将 React 作为开发依赖项安装在项目的根目录下,现在我回到原来的问题,因为现在my-hooks-lib
指的是项目根目录下的 React 副本。
有没有办法在开发过程中解决这个问题?
更新:作为一种解决方法,我将 React 作为和的对等依赖项react-native-app
,my-hooks-lib
并在项目根目录中添加 React 作为开发依赖项。所以这就是它现在的样子:
虽然我仍然很想听到更好的解决方案!
reactjs - 纱线 2 升级似乎破坏了打字稿类型,同一项目的纱线 1 安装在哪里成功?
我一直在尝试升级 typescript monorepo 以使用 yarn 2,但遇到了 typescript 不再能够确定某些反应道具的问题。由于这是在纱线 1.x 中工作的,我认为必须在纱线 1.x 中添加一些必须在纱线 2.x 中显式定义的隐式依赖项?在查看项目依赖项和 node_modules 数小时后,我无法确定生产 repo 中需要更改的内容,因此我创建了一个示例项目来重现该问题。希望有人能够指出我所缺少的。
/lib/component/Button.tsx
/apps/ts-example/App.jsx
通过 yarn 1.x 安装所有内容后,我可以将鼠标悬停在“名称”道具上并接收类型信息,如下所示。此外,如果提供的 prop 值不是“alice”或“bob”,您会收到预期的类型错误。
通过 yarn 2.x 安装后,当我将鼠标悬停在“名称”道具上时,我只会得到一个“字符串”类型(如下所示)。此外,即使提供的不是“alice”或“bob”,typescript 也不会为 prop 提供任何错误。这是有道理的,因为打字稿似乎不再理解类型定义。
我观察到,如果我删除文件中与 MuiButtonProps 的类型交集,我可以获取“名称”道具的类型信息lib/components/Button.jsx
。然而,这会导致该类型的结果不知道底层 Material-UI 按钮的“基础”道具。下面是修改后的类型定义。
结果如下:
我希望根据我上面概述的内容,问题很明显,但如果还不够,这里是重现问题的示例存储库。https://github.com/jereklas/ts-example
- “主”分支是正在运行的 yarn 1.x 安装。
- “yarn2”分支是安装不工作的yarn 2.x。
yarnpkg - 带有纱线浆果的 CLI 凹凸版本号
我最近将 yarn 升级为 yarn berry (v2),但找不到任何等效的yarn version --patch
. 有关与 cli 命令相关的差异的文档没有提及yarn version
.
有没有办法使用 yarn berry cli 来增加包版本号?