错误!npm install 的版本无效

kev*_*kev 24 version npm

每当我运行 npm install 时我都会得到

npm ERR! Invalid Version:
Run Code Online (Sandbox Code Playgroud)

这是日志文件。

43 verbose stack TypeError: Invalid Version: 
43 verbose stack     at new SemVer (C:\Users\Myself\AppData\Roaming\npm\node_modules\npm\node_modules\semver\classes\semver.js:38:13)
43 verbose stack     at compare (C:\Users\Myself\AppData\Roaming\npm\node_modules\npm\node_modules\semver\functions\compare.js:3:32)
43 verbose stack     at Object.gte (C:\Users\Myself\AppData\Roaming\npm\node_modules\npm\node_modules\semver\functions\gte.js:2:30)
43 verbose stack     at Node.canDedupe (C:\Users\Myself\AppData\Roaming\npm\node_modules\npm\node_modules\@npmcli\arborist\lib\node.js:1054:32)
43 verbose stack     at PlaceDep.pruneDedupable (C:\Users\Myself\AppData\Roaming\npm\node_modules\npm\node_modules\@npmcli\arborist\lib\place-dep.js:465:14)
43 verbose stack     at PlaceDep.placeInTree (C:\Users\Myself\AppData\Roaming\npm\node_modules\npm\node_modules\@npmcli\arborist\lib\place-dep.js:326:14)
43 verbose stack     at PlaceDep.place (C:\Users\Myself\AppData\Roaming\npm\node_modules\npm\node_modules\@npmcli\arborist\lib\place-dep.js:214:10)
43 verbose stack     at new PlaceDep (C:\Users\Myself\AppData\Roaming\npm\node_modules\npm\node_modules\@npmcli\arborist\lib\place-dep.js:71:10)
43 verbose stack     at C:\Users\Myself\AppData\Roaming\npm\node_modules\npm\node_modules\@npmcli\arborist\lib\arborist\build-ideal-tree.js:965:31
43 verbose stack     at Array.map (<anonymous>)
44 verbose cwd C:\Users\Dont\Want\To\Reveal\This\Information
45 verbose Windows_NT 10.0.19042
46 verbose argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\Myself\\AppData\\Roaming\\npm\\node_modules\\npm\\bin\\npm-cli.js" "i" "-force"
47 verbose node v16.14.0
48 verbose npm  v8.5.1
49 error Invalid Version: 
50 verbose exit 1
51 timing npm Completed in 18500ms
Run Code Online (Sandbox Code Playgroud)

我不明白什么版本无效?帮助!

Vic*_*gwa 37

删除node_modulespackage-lock.json (OR yarn.lock)为我解决了问题。

  • 好的,删除 package-lock.json 就可以了,问题是为什么呢?如何知道错误从何而来?我在 Angular 13 应用程序中收到“错误版本无效:^5.0.0”。但为什么?哪个包?我在日志中没有看到它。package.json 中必须是这样的:`"resolutions": { "webpack": "^5.0.0" }` (3认同)

jbu*_*off 9

删除package-lock.jsonnode_modules/.package-lock.json,然后再次运行该npm install命令。

这为我解决了问题,而无需删除并重新下载所有正确安装的模块。


小智 1

解决方案: 如果您检查项目根目录中的“package.json”文件,它可能缺少以下一个或全部属性:

  1. 姓名
  2. 版本

对于版本,它必须采用“xxx”形式,即在我的(也可能是你的)情况下为“1.0.0”

对于名称,您可以从“app.json”获取它,例如在我的例子中:

{                                                                                                                                                                   
     "expo": {
       "name": "the-10-min",
       "slug": "the-10-min",
       "privacy": "public",
       "platforms": [
         "ios",
         "android",
         "web"
      ],
Run Code Online (Sandbox Code Playgroud)

所以在我的例子中,“package.json”文件中的名称属性将为“the-10-min”。插入名称和版本的值,然后运行命令“npm install”