如何在termux中降级已安装的nodejs版本?
Termux 降级 Node.js 版本操作方案
以下方案均在Termux稳定版环境验证可用,可将已安装的18.3.0版本切换到任意需要的旧版本。
方案一:通过nvm管理版本(推荐,支持多版本随时切换)
该方案不会和Termux官方源的包产生冲突,切换版本成本最低,适合需要经常切换Node版本的场景。
- 先卸载当前通过pkg安装的Node.js,避免版本冲突:
pkg uninstall nodejs -y
- 安装nvm所需的基础依赖:
pkg install curl wget git -y
- 执行nvm安装命令:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
- 安装完成后重启Termux,或执行对应命令让nvm立即生效:
- 使用默认bash终端执行:
source ~/.bashrc - 使用zsh终端执行:
source ~/.zshrc
- 使用默认bash终端执行:
- 验证nvm安装正常:
nvm --version
命令正常输出版本号即代表安装成功。
- 安装需要的旧版本Node.js,例如需要安装16.20.2版本执行:
nvm install 16.20.2
如果不确定需要的版本号,可先执行nvm ls-remote列出所有可安装的历史版本,替换对应版本号即可。
- 将安装的旧版本设置为默认全局版本:
nvm alias default 16.20.2
- 最后验证版本切换结果:
node -v npm -v
输出对应版本号即操作完成,后续需要切换其他版本时,重复安装、设置默认版本的步骤即可。
方案二:手动安装指定版本deb包(适合不想安装额外版本管理器的场景)
该方案直接替换系统内的Node.js程序,不需要额外安装工具,但切换版本需要重新执行安装操作。
- 先查询当前设备的Termux运行架构,避免下载错安装包:
uname -m
常见输出对应架构:
aarch64:arm64架构,为绝大多数新款安卓设备的默认架构armv7l/armv8l:32位/兼容模式arm架构x86_64:x86_64架构,常见于安卓模拟器- 卸载当前已安装的高版本Node.js:
pkg uninstall nodejs -y
- 下载对应架构、你需要的旧版本Node.js的deb安装包到Termux本地存储,执行安装命令(将命令里的文件名替换为你实际下载的安装包名称):
dpkg -i nodejs_对应旧版本号_对应架构.deb
- 锁定Node.js版本,避免后续执行
pkg upgrade时被自动升级回高版本:
apt-mark hold nodejs
- 执行
node -v验证版本,输出目标版本号即操作完成。
注意:如果降级后运行npm出现依赖报错,可删除
/data/data/com.termux/files/usr/lib/node_modules下的npm目录,重新安装对应版本的npm即可修复。
内容的提问来源于stack exchange,提问作者Xnooxer
相关产品推荐
相关产品推荐

