跨项目频繁切换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.windows的 PowerShell 新增以下内容
json 复制代码
  "args": [
      "-NoExit",
      "-Command",
      "if (Test-Path .nvmrc) { nvm use (Get-Content .nvmrc) }"
   ]            

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

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

相关推荐
zach10 分钟前
前端落地实战:Next.js 项目 Nginx + PM2 生产部署全流程(附踩坑总结)
前端·pm2·next.js
overmind19 分钟前
oeasy教h5前端001 修改的乐趣_直接修改在线网页
前端
只睡四小时23 分钟前
JS 手写 D-pad 空间导航:电视端焦点引擎实战
android·开发语言·前端·javascript·ecmascript·hls·空间导航
恋猫de小郭26 分钟前
Android 原生的 Compose A2UI 也来了,你还抱着 XML 养老吗?
android·前端·flutter
庄园特聘拆椅狂魔27 分钟前
从连连看到粒子消散——前端小游戏与视觉特效的技术选型
前端
JudithHuang43 分钟前
React 常用 Hooks
前端·react.js·前端框架
sycmancia2 小时前
Qml——Window元素使用
前端
每天都好困2 小时前
03 AR 投影与误差修正:把地图上的点贴到视频画面上
前端
每天都好困2 小时前
04 地图图层封装:像管理 Photoshop 图层一样管理地图元素
前端
去伪存真2 小时前
构建你的第一个 DevOps AI Agent:自动化捕获、分析并修复 CI 故障
前端·agent