由于版本无效,Npm 安装失败

Npm install fails due to invalid version

因此,作为我正在做的一些工作的一部分,我正在尝试将我们在应用程序中使用的包升级到最新版本,因为 运行 npm audit 存在大量漏洞。

其中一个提示是安装 mocha@9.2.2

我一直在尝试这样做,但我收到一条错误消息:

npm ERR! Invalid version: ^6.0.1

我不知道这指的是什么,因为在 package.json 中没有包含此版本的软件包,当我查看调试日志时,我只得到:

207 verbose stack TypeError: Invalid Version: ^6.0.1
207 verbose stack     at new SemVer (C:\Program Files\nodejs\node_modules\npm\node_modules\semver\classes\semver.js:38:13)
207 verbose stack     at compare (C:\Program Files\nodejs\node_modules\npm\node_modules\semver\functions\compare.js:3:32)
207 verbose stack     at Object.gte (C:\Program Files\nodejs\node_modules\npm\node_modules\semver\functions\gte.js:2:30)
207 verbose stack     at CanPlaceDep.checkCanPlaceCurrent (C:\Program Files\nodejs\node_modules\npm\node_modules\@npmcli\arborist\lib\can-place-dep.js:173:51)
207 verbose stack     at CanPlaceDep.checkCanPlace (C:\Program Files\nodejs\node_modules\npm\node_modules\@npmcli\arborist\lib\can-place-dep.js:157:27)
207 verbose stack     at new CanPlaceDep (C:\Program Files\nodejs\node_modules\npm\node_modules\@npmcli\arborist\lib\can-place-dep.js:114:26)
207 verbose stack     at PlaceDep.place (C:\Program Files\nodejs\node_modules\npm\node_modules\@npmcli\arborist\lib\place-dep.js:121:19)
207 verbose stack     at new PlaceDep (C:\Program Files\nodejs\node_modules\npm\node_modules\@npmcli\arborist\lib\place-dep.js:71:10)
207 verbose stack     at C:\Program Files\nodejs\node_modules\npm\node_modules\@npmcli\arborist\lib\arborist\build-ideal-tree.js:949:31
207 verbose stack     at Array.map (<anonymous>)
208 verbose cwd C:\tfs\Agility\Branches\AgilityMakeover\Client\Web\AgilityItemViewer
209 verbose Windows_NT 10.0.19044
210 verbose argv "C:\Program Files\nodejs\node.exe" "C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js" "install" "mocha@9.2.2"
211 verbose node v16.14.0
212 verbose npm  v8.3.1
213 error Invalid Version: ^6.0.1
214 verbose exit 1

所以我不知道这可能指的是什么,据我所知没有包参考。我试过只删除 package-lock.json 文件并再次删除 node_modules 文件夹和 运行 npm install 但我一直收到此错误。但我不知道如何进步,任何建议将不胜感激

最终似乎解决了我的问题是通过显示的软件包列表,即 semver、can-place-dep 等,并通过执行以下操作手动更新它们:npm update semver 等等。然后我再次删除了我的 package-lock.json 和 node_modules 文件夹并安装了 npm。在此之后,我不再收到无效版本错误。希望这可以帮助其他人,如果他们最终遇到了我遇到的同样问题