我正在尝试升级我的react 17应用到一个更新版本的node和npm.目前,我的应用运行在14.17.2.我需要把应用升级到18.14.2,以便我能用docker官方仓库中的一个容器来停靠它.
为此,我使用nvm
来安装node 18.14.2
,并将我的npm
升级到9.5.0
。此外,对于package.json的这一部分,我在engines
小节下做了以下操作:
"engines": {
"node": "18.14.2",
"npm": "9.5.0"
}
但是,当我使用新升级的包执行npm i
时,我收到以下消息:
npm WARN old lockfile
npm WARN old lockfile The package-lock.json file was created with an old version of npm,
npm WARN old lockfile so supplemental metadata must be fetched from the registry.
npm WARN old lockfile
npm WARN old lockfile This is a one-time fix-up, please be patient...
npm WARN old lockfile
npm ERR! code EBADENGINE
npm ERR! engine Unsupported engine
npm ERR! engine Not compatible with your version of node/npm: @casl/ability@3.4.0
npm ERR! notsup Not compatible with your version of node/npm: @casl/ability@3.4.0
npm ERR! notsup Required: {"npm":"^6.0.0"}
npm ERR! notsup Actual: {"npm":"9.5.0","node":"v18.14.2"}
我不明白这要求我做什么。我该如何解决这个问题,以便我的应用程序可以 Boot ?我已经升级了许多rails应用程序,但这是我第一次使用node/react,面临着许多障碍。我不知道我还能提供什么其他上下文,但这是我目前的问题,我真的很感谢帮助。谢谢。
1条答案
按热度按时间z31licg01#
删除节点模块并清除该高速缓存。
如果不起作用,尝试删除软件包锁定文件。
此外,您还可以检查软件包
npm list
的依赖关系