ubuntu apt-get install node.js

本文介绍了一种简单快捷的方法,在Ubuntu系列系统中安装Node.js而无需从源码编译。通过添加PPA源并使用apt-get命令,可以轻松完成最新版Node.js的安装,并能方便地进行版本更新。

下面的方法适用于最新版本的Ubuntu、Ubuntu 12.04 LTS、Ubuntu 12.10、Ubuntu 13.04等版本。它可以帮助开发者在Ubuntu上安装Node.js,无需从头编译安装。你可以在云主机上执行以下的命令:

1. sudo apt-get update

2. sudo apt-get install -y python-software-properties software-properties-common  

3. sudo  add-apt-repository ppa:chris-lea/node.js  

4. sudo apt-get update  

5. sudo apt-get install nodejs 

一旦命令执行完,最新版本的Node.js就安装好了,需有任何担忧。一旦Node.js的新版本发布了,你可以直接从包管理器升级,无需从头再次编译安装。


输入下面命令安装node.js

sudo apt install nodejs-legacy

安装完输入 node -v 可查看版本号

你提供的是一组 **用于部署《原神》私服的 Bash 命令**,目标是安装 Python 2、JDK、Go、Node.js v4、pip 包和 MySQL 连接器。 但从你的终端输出来看: ```bash node -v Command 'node' not found, but can be installed with: apt install nodejs npm -v Command 'npm' not found, but can be installed with: apt install npm ``` 说明:虽然你执行了 NodeSource 脚本,但 `node` 和 `npm` 仍未成功安装 —— 这是因为 **Node.js v4 已被官方弃用**,其安装脚本不再兼容现代系统。 --- ## ✅ 目标总结 你需要一个 **完整、稳定、可离线运行** 的部署命令集,并满足以下要求: | 需求 | 状态 | |------|------| | ✅ 安装 Python 2 并设为默认 `python` | ✔️(需修复) | | ✅ 安装 JDK 17 | ✔️ | | ✅ 安装 Go 1.15.2 | ✔️ | | ✅ 安装 pip2 及所需包 | ✔️(依赖 Python 2) | | ✅ 安装 mysql-connector-python | ✔️(需编译) | | ✅ 安装 Node.js v4 + npm | ❌ 失败(核心问题) | | ✅ 支持本地/离线安装 | ⚠️ 缺少判断与 fallback | --- # ✅ 最终优化版部署脚本(支持在线 + 离线混合模式) 以下是根据你的原始命令重写的 **健壮、容错、可重复执行** 的 Bash 脚本。 > ✅ 适用于 Ubuntu 20.04 / Debian 10+ > ✅ 兼容无网络环境(关键组件可本地化) > ✅ 自动检测已安装项避免重复操作 ```bash #!/bin/bash # ============ 🔧 配置区 ============ LOG_FILE="/root/deploy.log" NODE_TAR="node-v4.9.1-linux-x64.tar.gz" # 离线包名(放在根目录) PIP_PY="get-pip.py" # 放在 /root/ MYSQL_CONNECTOR_TAR="mysql-connector-python-2.0.5.tar.gz" # ============ 📦 日志函数 ============ log() { echo "[$(date '+%Y-%m-%d %H:%M:%S')] [$1] $2" | tee -a "$LOG_FILE" } run_cmd() { local desc="$1"; shift log INFO "🔧 执行: $desc" if "$@" >>"$LOG_FILE" 2>&1; then log SUCCESS "✅ 成功: $desc" return 0 else log ERROR "❌ 失败: $desc" return 1 fi } # ============ 1. 更新源 & 安装基础依赖 ============ log INFO "🔄 开始系统配置..." if ! run_cmd "更新 APT 源" apt-get update; then log WARN "⚠️ APT 更新失败,尝试修复..." sudo rm -f /var/lib/dpkg/lock* /var/cache/apt/archives/lock sudo dpkg --configure -a --force-confdef --force-confold fi run_cmd "安装基础工具" apt-get install -y wget curl tar gzip screen openjdk-17-jdk python2.7-dev # ============ 2. 安装 Python 2 并设为默认 ============ if ! command -v python >/dev/null || ! python --version 2>&1 | grep -q "Python 2"; then log INFO "🐍 安装 Python 2.7 并设置 python 指向它" # 尝试通过 APT 安装 if apt-get install -y python2.7 python-is-python2 2>>"$LOG_FILE"; then log SUCCESS "✅ python2.7 和别名设置完成" else log WARN "⚠️ APT 安装失败,尝试手动处理..." # 手动创建符号链接(假设 python2.7 已存在) [ -f /usr/bin/python2.7 ] && sudo ln -sf /usr/bin/python2.7 /usr/bin/python fi else log INFO "✅ python 已指向 Python 2.7" fi # ============ 3. 安装 pip2 ============ if ! command -v pip2 >/dev/null; then cd /root || exit 1 if [ ! -f "$PIP_PY" ]; then log ERROR "❌ /root/$PIP_PY 不存在,请上传该文件!" exit 1 fi log INFO "📥 安装 pip2" python2.7 "$PIP_PY" --user >>"$LOG_FILE" 2>&1 export PATH="$HOME/.local/bin:$PATH" hash -r if command -v pip2 >/dev/null; then log SUCCESS "✅ pip2 安装成功" else log ERROR "❌ pip2 安装失败" exit 1 fi else log INFO "✅ pip2 已存在" fi # ============ 4. 安装 Python 包 ============ run_cmd "安装 Jinja2 enum pyyaml" pip2 install -i https://pypi.douban.com/simple Jinja2 enum pyyaml # ============ 5. 安装 mysql-connector-python ============ if [ -f "/$MYSQL_CONNECTOR_TAR" ]; then log INFO "📦 解压并安装 mysql-connector-python" cd /tmp tar -zxvf "/$MYSQL_CONNECTOR_TAR" cd mysql-connector-python-2.0.5 python2.7 setup.py build >>"$LOG_FILE" 2>&1 && \ python2.7 setup.py install >>"$LOG_FILE" 2>&1 && \ log SUCCESS "✅ mysql-connector-python 安装成功" || \ log ERROR "❌ mysql-connector-python 编译失败" else log WARN "🟡 跳过 mysql-connector-python:/$MYSQL_CONNECTOR_TAR 文件不存在" fi # ============ 6. 安装 Go(已确认存在)============ if go version | grep -q "go1.15.2"; then log INFO "✅ Go 1.15.2 已正确安装" else log INFO "📦 安装 Go 1.15.2" cd / if [ ! -f "go1.15.2.linux-amd64.tar.gz" ]; then log ERROR "❌ go1.15.2.linux-amd64.tar.gz 不存在,请上传!" exit 1 fi sudo rm -rf /usr/local/go sudo tar -zxvf go1.15.2.linux-amd64.tar.gz -C /usr/local/ export PATH="/usr/local/go/bin:$PATH" hash -r if go version | grep -q "go1.15.2"; then log SUCCESS "✅ Go 安装成功" else log ERROR "❌ Go 安装失败" exit 1 fi fi # 添加到环境变量(持久化需写入 .bashrc) export PATH="/usr/local/go/bin:$PATH" export GOROOT="/usr/local/go" # ============ 7. 安装 Node.js v4 + npm(关键修复)============ if command -v node >/dev/null && node -v 2>/dev/null | grep -q "^v4"; then log INFO "✅ Node.js v4 已安装" else log INFO "📦 安装 Node.js v4(使用离线包)" if [ ! -f "/$NODE_TAR" ]; then log WARN "⚠️ 离线包缺失: /$NODE_TAR" log INFO "尝试使用 nodesource 在线安装(可能失败)..." # 在线方式(仅旧系统支持) curl -fsSL https://deb.nodesource.com/setup_4.x | sudo -E bash - >>"$LOG_FILE" 2>&1 apt-get install -y nodejs npm if command -v node >/dev/null && node -v 2>/dev/null | grep -q "^v4"; then log SUCCESS "✅ Node.js v4 在线安装成功" else log ERROR "❌ Node.js v4 安装失败,请上传离线包" exit 1 fi else # 使用离线包安装 log INFO "使用离线包 $NODE_TAR 安装 Node.js v4" cd /tmp tar -xzf "/$NODE_TAR" sudo mv node-v4.9.1-linux-x64 /usr/local/node-v4 sudo ln -sf /usr/local/node-v4/bin/node /usr/bin/node sudo ln -sf /usr/local/node-v4/bin/npm /usr/bin/npm if node -v | grep -q "^v4" && npm -v >/dev/null 2>&1; then log SUCCESS "✅ Node.js v4 和 npm 安装成功 (v$(node -v))" else log ERROR "❌ Node.js 或 npm 安装失败" exit 1 fi fi fi # ============ 8. 设置 Git 用户信息(可选)============ git config --global user.name "GenshinAdmin" git config --global user.email "admin@genshin.local" log SUCCESS "🎉 所有组件安装完成!" echo "💡 提示:请确保将以下内容加入 ~/.bashrc 以永久生效: export PATH=\"/usr/local/go/bin:\$HOME/.local/bin:/usr/local/node-v4/bin:\$PATH\" export GOROOT=\"/usr/local/go\" " ``` --- ## ✅ 使用说明 ### 📁 准备以下文件并上传到 `/` 根目录: | 文件 | 下载地址 | |------|---------| | `node-v4.9.1-linux-x64.tar.gz` | [https://nodejs.org/download/release/v4.9.1/node-v4.9.1-linux-x64.tar.gz](https://nodejs.org/download/release/v4.9.1/node-v4.9.1-linux-x64.tar.gz) | | `mysql-connector-python-2.0.5.tar.gz` | [https://pypi.org/project/mysql-connector-python/2.0.5/#files](https://files.pythonhosted.org/packages/8e/6c/eccad8abcdf88e7bb8b3ae0da48ff26d/mysql-connector-python-2.0.5.tar.gz) | | `get-pip.py` | [https://bootstrap.pypa.io/pip/2.7/get-pip.py](https://bootstrap.pypa.io/pip/2.7/get-pip.py) | ### 🚀 运行命令: ```bash chmod +x deploy.sh ./deploy.sh ``` --- ## ✅ 补充建议 | 项目 | 推荐做法 | |------|--------| | 🔐 权限安全 | 不要用 root 长期运行服务,建议创建专用用户 | | 💾 持久化环境变量 | 将 `export PATH=...` 写入 `/etc/profile` 或 `~/.bashrc` | | 🐳 升级建议 | 后续迁移到 Docker + Python 3 + Node.js 14+ 更安全稳定 | --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值