NodeJS 版本管理方式
1, 事故背景
今天准备调试一个NodeJS 写的应用程序,结果怎么都不能
npm i 安装依赖; 报错信息:
F:\GPA\heracles-master>npm i npm WARN read-shrinkwrap This version of npm is compatible with lockfileVersion@1, but package-lock.json was generated for lockfileVersion@2. I'll try to do my best with it! npm ERR! code EPERM npm ERR! syscall open npm ERR! path C:\Program Files\nodejs\node_cache\_cacache\tmp\b4e435fe npm ERR! errno -4048 npm ERR! Error: EPERM: operation not permitted, open 'C:\Program Files\nodejs\node_cache\_cacache\tmp\b4e435fe' npm ERR! [OperationalError: EPERM: operation not permitted, open 'C:\Program Files\nodejs\node_cache\_cacache\tmp\b4e435fe'] { npm ERR! cause: [Error: EPERM: operation not permitted, open 'C:\Program Files\nodejs\node_cache\_cacache\tmp\b4e435fe'] { npm ERR! errno: -4048, npm ERR! code: 'EPERM', npm ERR! syscall: 'open', npm ERR! path: 'C:\\Program Files\\nodejs\\node_cache\\_cacache\\tmp\\b4e435fe' npm ERR! }, npm ERR! isOperational: true, npm ERR! errno: -4048, npm ERR! code: 'EPERM', npm ERR! syscall: 'open', npm ERR! path: 'C:\\Program Files\\nodejs\\node_cache\\_cacache\\tmp\\b4e435fe' npm ERR! }
没有权限,于是用cmd - 管理员权限打开,再去执行上述命令,可以安装了,但是
于是,node 的版本,npm的版本需要升级了。
看了下版本号:
查了下,升级方式,https://developer.aliyun.com/article/369665; 然后发现 似乎不支持windows
只能去 官网下载Node 进行覆盖安装
2, NodeJs 管理
后续发现,无论如何都不行。Google 了一下这个错误:
报错解释“This version of npm is compatible with lockfileVersion@1, but package-lock.json was generated for lockfileVersion@2. I'll try to do my best with it!”
搜索Google 说,生成package-lock.json 的版本 和 npm的版本不一致导致的这个问题; 而且向上向下都不太兼容;
于是,搜了下NodeJs 的管理方式,有推荐 使用 NVM;https://juejin.cn/post/7094576504243224612
2.1 安装 NVM
去这个网站下载NVM https://github.com/coreybutler/nvm-windows/releases
然后装好以后,命令行这边进行 查询
===============
- nvm list
- nvm list installed
- nvm list available
Running version 1.1.10.
===============
2.2 安装老版本并且切换
然后再尝试就好了。
分类:
NodeJS
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库