无法通过npm安装redux、datepicker等依赖,package.json未更新
针对你执行npm i react-redux @reduxjs/toolkit react-datepicker react-router-dom@6后package.json未更新的情况,可以尝试以下几种解决方案:
确认当前工作目录正确
确保终端所在目录是项目根目录(即包含package.json的目录)。可以通过pwd(Mac/Linux)或cd(Windows)查看当前路径,或用ls/dir命令确认是否存在package.json文件。如果进错目录,安装命令不会作用到目标package.json上。清除npm缓存后重新安装
缓存异常可能导致安装逻辑出错,执行以下命令清除缓存:npm cache clean --force清除完成后,重新运行你的安装命令。
强制指定--save参数安装
尽管npm 5.x及以上版本默认会将依赖写入package.json,但部分配置异常可能导致该功能失效,可手动添加--save参数强制写入:npm install react-redux @reduxjs/toolkit react-datepicker react-router-dom@6 --save检查npm的save配置项
运行以下命令查看save配置状态:npm config get save如果返回
false,说明npm被配置为不自动保存依赖到package.json,执行以下命令修改配置:npm config set save true之后重新执行安装命令。
处理锁文件冲突
如果项目之前使用过yarn等其他包管理器,可能存在yarn.lock与npm的package-lock.json冲突。可以先备份package-lock.json,然后删除该文件,再重新运行安装命令。若原本是yarn项目,建议改用yarn add react-redux @reduxjs/toolkit react-datepicker react-router-dom@6进行安装。重新初始化项目(谨慎操作)
若以上方法均无效,可先备份当前package.json文件,然后在项目根目录执行:npm init -y重新生成package.json后,将备份文件中的原有依赖复制到新的package.json里,再执行安装命令。
内容的提问来源于stack exchange,提问作者Saksham Jain

