问题标签 [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.
node.js - 纱线 2 - YN0027:react@unknown 无法解析到令人满意的范围:
这个问题是因为我在一个公司网络中,并且通过strict-ssl: false
配置设置在 yarn 1.x 中解决了这个问题。
尝试将 belwo 属性添加到 Yarn2 .yarnrc.yml 但没有帮助(https://github.com/yarnpkg/berry/issues/798):
caFilePath: <path to CA .pem file)
提供自定义 CA 或enableStrictSsl: false
禁用证书错误。
添加以上内容后开始出现以下错误
github - 带有纱线浆果 Github 子目录安装的描述符无效
我需要安装远程存储库的子目录作为我的节点依赖项。
根据这个问题,可以将 GitHub 存储库的子目录安装为 yarn 2.xx https://github.com/yarnpkg/yarn/issues/4725的依赖项
但是,运行yarn add https://github.com/mklueh/gridsome/tree/master/gridsome.git
会产生
这是子模块的 package.json。
这里出了什么问题?远程存储库是否需要调整才能与纱线 2 一起使用?
node.js - 在节点脚本中按顺序运行一组纱线命令
我想按顺序使用纱线命令并在节点脚本中运行它,在中间步骤中,并根据需要将其与 js 混合。例如
以上是否可以在节点 js 或任何其他可用于节点项目的脚本中实现?
reactjs - 如何纱线添加特定的分支/工作区
我分叉了 react-select 以添加当前 react-select 没有的几个功能。我创建了一个分支并将其提交给我的分叉项目。现在,我想使用分叉项目。
我尝试通过以下方式安装分叉的 react-select repo,但没有成功。
ssh
我已经用, with试过了git+
。纱线网站所说的一切,我得到的只是安装了反应选择,但我没有看到我的分支中的代码更改。
我也尝试安装react-select
monorepo 使用的软件包,但出现以下错误
我在用yarn 2.4.2
有没有人处理过这个?
除了复制文件夹并从文件路径安装之外,还有什么解决方案?
javascript - 如何在 Yarn PnP 模式下使用 Rollup+Babel 转译依赖的 js 文件?
我正在使用启用了即插即用 (PnP) 的 Yarn v2。我想使用 Babel 转换我的一些依赖项的 js 文件,并使用 Rollup 捆绑它们。
但是,汇总发出以下警告并且输出不正确:
我相信这是由以下行为引起的:
- Babel 注入
import flatmap from 'core-js-pure/features/array/flat-map.js'
。 - Rollup 无法解析导入,因为
core-js-pure
它不是包的列出依赖项,并将导入视为外部依赖项。
有没有什么方法可以在 Yarn PnP 模式下使用 Rollup+Babel 转换依赖项的 js 文件?
以下是我尝试过的一些解决方法:
- 设置
pnpMode
为loose
以便 Rollup 可以解析core-js-pure
,即使它不是文件所属包的列出依赖项。 - 添加一个带有钩子的自定义汇总插件
resolveId
以解析任何导入到core-js-pure
. 钩子将包含类似require.resolve(source)
. 这是有效的,因为我正在core-js-pure
我的代码中解析core-js-pure
列出的依赖项。
gitlab - Yarn v2 Workspace 从注册表 gitlab 解析依赖项
我正在尝试使用 yarn v2 工作区创建一个 monorepo,然后我想在 gitlab 包注册表中发布每个包,以避免在注册表中已经存在相同版本的情况下每次构建包。我的项目示例在 gitlab 上是公开的:https ://gitlab.com/p.nopleggio/monorepov3
使用此配置一切正常,这两行在.gitlab-ci.yml
:
所有包都是在注册表中构建和发布的,所以没关系。
但现在我试图在工作空间内只构建更改的包,而不仅仅是所有包。所以我只是为了了解如何在注册表中维护这个包@monorepov3/common@1.0.1
并以这种方式编辑 .gitlab-ci.yml :
所以我试图只构建 @monorepov3/backoffice-app
包,我想从注册表中检索@monorepov3/common
依赖@monorepov3/backoffice-app
项,但是当构建命令启动不起作用时,因为没有在@monorepov3/common
本地找到并且没有在注册表中查找。
谁能告诉我如何实现这一目标?如何使用注册表中的包构建 ci/cd 管道中的依赖项?
另一个问题是如何只构建已更改的包?
aws-lambda - 为 aws lambda 层导出 yarn berry 中的 node_modules
目前我们正在使用多个 yarn 1.x项目将代码部署到 aws。
导出我们当前使用的 lambda 层的依赖项
yarn install --production --modules-folder layer/nodejs/node_modules
现在我们想迁移到yarn berry以利用本地包引用,但是该--modules-folder
选项不再存在。
有没有办法用纱线浆果存档同样的东西?
对于上下文,这是我的 .yarnrc 文件:
mocha.js - 为什么 Mocha 不与 Yarn Berry 合作?
我正在尝试使用 mocha 进行一个非常简单的测试(没有配置文件,没有其他标志,只有mocha
,yarn2
和testee.js
文件),但它总是给我0 passing
. 地狱,它甚至不会运行任何文件!
我正在使用的工具:
- 摩卡9.0.2
- 纱线浆果 2.4.2
Yarn 2 不支持 mocha 吗?我应该使用其他东西吗?我总是将 mocha 用于我的所有测试文件,如果确实如此,也许是时候迁移了。
注意:我尝试使用纱线 1,它完美无缺。此外,Mocha 找到了该testee.js
文件,否则它会给我not found
错误而不是0 passing
reactjs - Create-react-app 绝对导入不适用于 yarn v2 工作区 + 打字稿
我正在使用 yarn v2 工作区,我的工作区之一是使用create-react-app
/构建的前端react-scripts
。我想在前端应用程序中启用绝对导入,所以我可以做类似的事情,import Button from 'components/Button'
而不是import Button from '../../../components/Button'
. 请注意,我的问题与跨工作区导入无关。
我已按照CRA 文档中的说明启用绝对导入,并且一切正常,除了tsc
:
✅ 应用程序运行
✅ 应用程序构建
✅ 测试通过
❌
yarn tsc --noEmit
在任何绝对导入上都会出现这样的错误:
这也会导致我的编辑器(vscode)中的 import 语句下出现红色波浪线。
我的项目结构是这样的:
这是根tsconfig.json
:
还有前端tsconfig.json
我从根目录使用这个命令调用 tsc:
如何让 tsc 解析绝对导入?
yarnpkg - 如何让 yarn 2 在我的项目中工作?
我cd
进入我的项目并运行yarn set version berry
. 它.yarnrc.yml
使用yarnPath
变量创建 。但是,如果我确实yarn
在目录中运行,它仍然默认为旧 Yarn。我用./.yarn/releases/yarn-berry.cjs
+install
或之类的命令制作了一个 Makefilestart
以让 Yarn 2 工作。我究竟做错了什么?