testing - Testcafe 不能与 Yarn 2 一起运行
问题描述
Testcafe 1.10 似乎不能通过 Yarn 2 运行,而它只是手动运行全局安装的。我得到这个输出:
ERROR Error: testcafe-legacy-api tried to access read-file-relative, but it isn't declared in its dependencies; this makes the require call ambiguous and unsound.
Required package: read-file-relative (via "read-file-relative")
Required by: testcafe-legacy-api@npm:4.0.0 (via /data/Fichiers/Code/testcafe/.yarn/cache/testcafe-legacy-api-npm-4.0.0-ff97b69c8c-e4a891ec41.zip/node_modules/testcafe-legacy-api/lib/)
我可以看到它read-file-relative
被列为 的依赖项testcafe
,但不是testcafe-legacy-api
(https://yarnpkg.com/package/testcafe,https://yarnpkg.com/package/testcafe-legacy-api )的依赖项,它本身就是的依赖关系testcafe
。
解决方案
编辑:双方的 PR 已合并,因此它现在或很快应该可以工作,而无需使用下面的解决方法。
显然testcafe
,它的依赖项testcafe-legacy-api
有几个实际的依赖项,这些依赖项没有在它们的依赖项列表中列出。
正如文档.yarnrc.yml
所解释的:
某些包的依赖项可能指定不正确 - 例如缺少一个依赖项,导致 Yarn 拒绝访问。这些
packageExtensions
字段提供了一种使用附加信息扩展现有包定义的方法。
将此添加到我的.yarnrc.yml
然后运行yarn install
(或yarn
)修复它:
packageExtensions:
"testcafe@*":
dependencies:
"@babel/runtime": "*"
"@babel/plugin-transform-for-of": "*"
"testcafe-legacy-api@*":
dependencies:
"read-file-relative": "*"
"testcafe-hammerhead": "*"
推荐阅读
- python - Python:提取文本文件中两个字符串之间的值
- javascript - 将徽标放在导航栏上会影响导航栏上的整个文本
- ios - iPhone 11 上前置位置的默认 AVCaptureDevice 太“宽”
- android - Audio filnger 中的混音器线程是如何创建的,以及 app 和 audio flinger 混音器之间的映射是如何完成的?
- arrays - 线性代数可变自由度力向量的最佳和最有效格式?
- python - 如何将实例属性初始化为 numpy 数组?
- file - 使用 SharePlum for Sharepoint 下载文件
- linux - 如果匹配显示成功或失败,如何匹配文件中的语法
- javascript - 使用自动换行在 React 中渲染逗号分隔的链接
- c++ - 为什么我得到 nan 作为下面代码的输出?