nvm--Node多版本控制及依赖问题解决

一、npm依赖问题

非专业前端,记录问题解决方法,说的不对可以踢我,一起讨论解决。

npm ERR! code ERESOLVE
npm ERR! ERESOLVE unable to resolve dependency tree
npm ERR!

......

npm ERR! this command with --force, or --legacy-peer-deps

......

想必大家在对一些vue项目进行npm install时 会遇到这种问题,网上的解决方案一般分为两种:

  1. 按照注释建议:在npm install后面 加上--force或者--legacy-peer-deps ,忽略或者强制安装依赖。

  2. 降低npm版本,npm 8 降到npm 6,因为npm 7+校验会很严格。

我当前系统版本:

node版本:18.12.1

npm版本:8.19.2

第一种方式很多人包括我尝试后,都失败了,原因我猜想应该是版本高导致的。

但是第二种方式的话需要降低node和npm版本,但是我其他项目又不允许我降低版本...

二、解决方案

所以在头疼了很久之后,发现了nvm这个好东西,可以同时管理多个node和npm版本;

这个软件的作用大概说明一下:

类似于一个管理工具,可以在这个管理工具里,下载和管理不同node版本,在使用时,需要哪个版本的node,使用管理工具进行切换,当前环境的node版本和npm版本就会切换至对应版本。(不会同时存在不同的版本,只能切换使用) 

三、nvm-windows安装及使用

因为开发是在windows环境,所以使用nvm-windows来进行控制。

  1. GITHUB找最新版本,或者直接点击nvm下载(V-1.1.12)也行,下载nvm-setup.zip。
  2. 如果有原始node版本,建议先卸载(不卸载也行,个人感觉卸载后重新下载放在一起好管理),解压后双击nvm-setup.exe。
  3. 首先是选择nvm安装目录,然后是选择nodejs版本下载存储的地址(后面所有新下载的node都保存在这里),如果有原本系统有nodejs,安装时会提示是否添加,添加上就行。 
  4. 安装好了之后,就可以开始下载node并使用了
    //nvm -v查看nvm版本,有版本号说明安装成功了
    nvm -v 
    
    
    //nvm install 版本号
    nvm install 18.12.1
    
    
    //nvm lis查看已安装版本号
    nvm list
    
    //nvm use 版本号,切换node版本
    nvm use 18.12.1
    
     

  5. 切换版本后可以查看node -v 和npm -v查看当前环境。

 最后再重新去install一下你的程序吧,没准就解决了!!!

### 如何通过 nvm 成功安装版本 Node.js #### 使用 `nvm` 安装指定版本Node.js 可以通过以下命令来安装特定版本Node.js。例如,要安装 v10.24.1 版本Node.js,可以运行如下命令[^1]: ```bash nvm install 10.24.1 ``` 如果希望设置该版本为默认使用的版本,则需要执行以下命令: ```bash nvm use 10.24.1 ``` 或者永久设置当前 shell 默认使用此版本: ```bash nvm alias default 10.24.1 ``` #### 常见错误及其排查方法 ##### 错误一:无法找到远程仓库中的节点版本号 当输入 `nvm install <version>` 后提示找不到对应版本时,可能是本地缓存未更新或网络连接问题所致。此时可尝试清理缓存并重新拉取最新列表: ```bash nvm cache clear nvm ls-remote | grep v10. ``` ##### 错误二:安装失败或权限不足 某些情况下,在 macOS 或 Linux 上可能会因为文件夹权限不够而引发安装失败的情况。这种时候建议调整 `.nvm` 文件夹权限后再试一次操作: ```bash sudo chown -R $(whoami) ~/.nvm ``` 另外确认环境变量 PATH 中包含了由 NVM 所管理到得路径项, 可以查看 .bashrc 或者其他启动配置脚本里是否有类似下面这样的定义: ```bash export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" ``` ##### 错误三:切换版本后仍显示旧版 即使已经完成了新版本安装与激活,但如果仍然看到的是之前的高版本或其他不同版本的信息,这通常是因为全局包依赖关系混乱所引起。一种解决办法就是先移除所有已知关联至 nodenpm 软件包再逐步恢复必要组件: ```bash npm list -g --depth=0 npm uninstall -g <package_name> ``` 之后再次验证当前正在运行的确切nodejs实例是否匹配预期目标版本。 ```bash which node node -v ``` 最后考虑重启终端会话确保更改生效。 ### 总结 以上介绍了利用 nvm 来管理和切换不同的 Node.js 版本的方法以及针对可能出现的一些典型问题提供了相应的处理措施。遵循上述指导可以帮助开发者更高效地完成跨平台开发任务的同时也减少了因工具链兼容性带来的麻烦。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值