跨项目频繁切换node版本号(nvm-windows)

最近在手头有两个新老项目在同时处理,频繁切换node版本号很是繁琐,在这里记录一下解决的方法:(前提是系统已安装nvm)

下面部分是我的尝试思路,想要效果的话可以直接看第三点:

1. 使用项目特定的 .nvmrc 文件

use 18.17.0 手动切换node版本,而这个.nvmrc文件替代查询修改操作,配置有关操作:

.nvmrc 文件配置

再使用以下指令

bash 复制代码
nvm use # × 此指令windows会报错 需要替换成一下内容
nvm use $(Get-Content .nvmrc) 

nvm use 报错: A version argument is required but missing. nvm use语法不支持,查阅资料跟nvm版本与windows系统有关。

参考:blog.csdn.net/weixin_5257...

2. 系统配置指令

(原方案需切换 VS Code 终端为 Git Bash,实际测试后弃用,保留记录供参考)

官网地址:github.com/nvm-sh/nvm?... 官网提供脚本配置方案

利用git携带的Git Bash

bash 复制代码
notepad ~/.bashrc

首次打开可能会出现没有找到此文件是否创建,选择是。打开后将以下内容写入:

遇到问题:官网提供的指令会报错nvm_find_up:command not found,更换官网代码为以下内容:

bash 复制代码
# ~/.bashrc
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"

auto_nvm_use() {
    if [[ -f ".nvmrc" && -r ".nvmrc" ]]; then
        local nvm_version=$(<.nvmrc)
        echo "检测到 .nvmrc,切换 Node 版本: $nvm_version"
        nvm use "$nvm_version" 2>/dev/null || {
            echo "版本未安装,正在安装 $nvm_version..."
            nvm install "$nvm_version"
            nvm use "$nvm_version"
        }
    fi
}

# 替换 cd 命令
cd() {
    builtin cd "$@" || return
    auto_nvm_use
}

# 初始化时检测当前目录
auto_nvm_use

Git Bash切换到指定目录

打开VS Code终端发现并未生效,由于VS Code 的集成终端默认以 非登录 Shell(non-login shell) 启动,后未修改

3. vscode配置指令(最终解决办法)

项目根目录 下创建.nvmrc文件,写入版本号, 打开 VS Code 设置文件

  • 按下 Ctrl + , 打开设置,找到 settings.json 文件。
  • 找到 terminal.integrated.profiles.windowsPowerShell 新增以下内容
json 复制代码
  "args": [
      "-NoExit",
      "-Command",
      "if (Test-Path .nvmrc) { nvm use (Get-Content .nvmrc) }"
   ]            

OK!重启VS Code发现配置成功。

这是我的第一篇小笔记,有什么问题的话欢迎指正~

相关推荐
skywalk81635 小时前
Kotti Next的tinyfrontend前端模仿Kotti 首页布局还是不太好看,感觉比Kotti差一点
前端
RopenYuan7 小时前
FastAPI -API Router的应用
前端·网络·python
走粥8 小时前
clsx和twMerge解决CSS类名冲突问题
前端·css
Purgatory0018 小时前
layui select重新渲染
前端·layui
weixin199701080168 小时前
《中国供应商商品详情页前端性能优化实战》
前端·性能优化
赵孝正10 小时前
学习的本质是一个工程闭环:从模仿到内化的四阶段方法论(附风电实战案例)
前端·数据库·学习
Panzer_Jack12 小时前
easy-live2d v0.4.0 — 全面进化的 Live2D Web 开发体验
前端
软弹12 小时前
输入URL之后,都发生了什么
前端