纱线测试因茉莉花ts码依赖性而失败



我正在运行yarn test来运行我的测试。我必须提前更新package.json文件中的一些版本,所以我删除了yarn.lock文件。在删除yarn.lock文件之前,测试通过得很好。现在,测试失败,出现以下错误:

TypeError: shim$1.Parser.looksLikeNumber is not a function
at Object.Yargs.self._parsePositionalNumbers (/Users/me/dev/test-app/node_modules/jasmine-ts/node_modules/yargs/build/index.cjs:2804:31)

我的package.json包括:

"jasmine-ts": "^0.3.0"

旧的yarn.lock文件如下所示:

jasmine-ts@^0.3.0:
version: "0.3.0"
resolved: (...)
integrity: (...)
dependencies:
yargs: "^8.0.2"

新的yarn.lock文件如下所示:

jasmine-ts@^0.3.0:
version "0.3.3"
resolved: (...)
integrity: (...)
dependencies:
yargs "^16.2.0"

我相信jasmine-ts显示的yargs版本不应该给我这个错误。我有办法解决这个问题吗?或者这是jasmine-ts中的一个错误吗?最新版本是0.4.0,它在测试中也出现了同样的错误,所以我希望我只是错过了一些简单的东西。感谢您的帮助。

我也有同样的问题,但在我的情况下,yargsjest-cli的子依赖项

在我寻找线索时发现了你的问题,多亏了你的版本指针,我才得以解决这个问题。

我将yargs版本13.3.2添加到分辨率中,它解决了这个问题。

软件包.json

"resolutions": {
"yargs": "^13.3.2"
}

yargs也可能是您项目中其他模块的子依赖项。如果您知道某个版本运行良好,请将其添加到分辨率中。否则,使用13.3.2,因为它不会抛出这个TypeError: shim$1.Parser.looksLikeNumber is not a function

注意:-您没有删除以前的版本,解决方案只会将您的子依赖项固定到指定的版本。

阅读决议:-https://medium.com/learnwithrahul/understanding-npm-dependency-resolution-84a24180901b

最新更新