Debian上Node.js版本冲突的排查与解决
一、快速定位冲突来源
which node && readlink -f $(which node)、which npm && readlink -f $(which npm)type -a node、type -a npmecho $NVM_DIR、command -v nvmnode -v、npm -v、apt policy nodejs二、推荐方案 NVM 隔离与切换(优先)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bashsource ~/.bashrc(如使用 zsh 则 source ~/.zshrc)nvm install 18、nvm install --lts、nvm install 14.21.3nvm use 18、nvm use --ltsnvm alias default 18(登录新终端自动使用该版本)nvm run 14 app.jsnode -v、npm -vnvm uninstall 14.21.3三、使用 NodeSource 仓库的“单版本”方案(不使用 NVM 时)
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -sudo apt-get install -y nodejsnode -v、npm -v四、多项目协作与长期维护建议
"engines": { "node": "18.x" }FROM node:18WORKDIR /appCOPY . .RUN npm installCMD ["node", "index.js"]