如何解决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
有几个实际的依赖项,它们的依赖项列表中没有列出。
正如 documentation for .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": "*"
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。