You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用NVM时如何让npm start调用当前正确的Node版本

使用NVM时如何让npm start调用当前正确的Node版本

嘿,我之前也碰到过类似的情况,咱们一步步来排查解决,应该能很快搞定:

  • 先确认当前终端会话的Node版本确实生效
    有时候切换目录或者新开终端后,NVM的版本可能没自动切换过来。先在项目目录里重新运行一遍:

    nvm use 18.15.0
    

    然后再执行node -v和npm -v确认版本正确,接着试试npm start,看是不是正常用18.15.0了。

  • 检查项目package.json的start脚本
    打开项目里的package.json,看看scripts里的start命令有没有硬编码指定Node版本。比如会不会写成这样:

    "scripts": {
      "start": "node@10.19.0 ./server.js"
    }
    

    如果是这种情况,把版本号去掉,改成"start": "node ./server.js"就行,这样就会用当前终端激活的Node版本。

  • 检查npm的全局配置
    有时候可能不小心设置了npm的node版本参数,运行下面的命令看看:

    npm config get node_version
    

    如果返回的是10.19.0,那就删掉这个配置:

    npm config delete node_version
    
  • 确认Node和npm的路径是NVM管理的
    运行下面两个命令,检查路径是不是指向NVM的版本目录:

    which node
    which npm
    

    正常应该显示类似~/.nvm/versions/node/v18.15.0/bin/node和对应的npm路径,如果是系统全局的路径,那可能还是有路径优先级的问题,可以再检查下终端的环境变量(不过你说没路径问题,这个可以作为备选排查点)。

  • 最后试试重启终端
    有时候NVM的环境变量在当前会话里没更新彻底,关掉终端重新打开,激活目标版本后再运行npm start,说不定就好了。

备注:内容来源于stack exchange,提问作者Aurelien Marc

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.22 14:17:57