centos7.4安装node和npm

直接安装会出现:你的 CentOS 7 系统无法连接到默认的 yum 仓库(网络/DNS 问题或镜像源失效)

问题原因

  1. ​DNS 解析失败​
    • 系统无法解析 mirrorlist.centos.org(提示 Could not resolve host
  2. ​网络连接问题或镜像源失效​
    • 官方仓库可能已不再维护(CentOS 7 已结束生命周期)

解决方案

第一步:修复 DNS 解析
复制代码
# 临时配置 DNS(使用 Google 公共 DNS)
echo "nameserver 8.8.8.8" >> /etc/resolv.conf
第二步:更换国内镜像源(如阿里云)
  1. 备份原仓库配置

    复制代码
    mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
  2. 下载阿里云镜像源

    复制代码
    curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
  3. 清理缓存并更新

    复制代码
    yum clean all
    yum makecache
第三步:安装 Node.js 和 npm
复制代码
# 安装 EPEL 仓库(Extra Packages for Enterprise Linux)
yum install epel-release -y

# 安装 Node.js 和 npm
yum install nodejs npm -y

备选方案(如果镜像源仍不可用)

方法一:手动安装 Node.js
  1. 从 NodeSource 安装最新版本

    复制代码
    curl -fsSL https://rpm.nodesource.com/setup_18.x | bash -
    yum install nodejs -y
方法二:下载二进制包
  1. 访问 Node.js 官网 下载 Linux 二进制包(如 node-v18.17.1-linux-x64.tar.xz

  2. 解压并配置环境变量

    复制代码
    tar -xvf node-v18.17.1-linux-x64.tar.xz
    mv node-v18.17.1-linux-x64 /usr/local/node
    echo 'export PATH=$PATH:/usr/local/node/bin' >> /etc/profile
    source /etc/profile

验证安装

复制代码
node -v  # 应输出版本号(如 v18.17.1)
npm -v   # 应输出版本号(如 9.6.7)

美美部署vue

复制代码
npm install --unsafe-perm
​​npm install​​
基础命令,用于安装当前项目的所有依赖包(基于 package.json 或 package-lock.json)。
​​--unsafe-perm​​
特殊权限参数,用于解决以下问题:
当非 root 用户执行 npm install 时,允许以 root 权限执行某些操作(如写入系统目录)
避免因权限降级(常见于 Docker 容器)导致的安装失败
npm run build:prod
打包生产环境,dist目录是打包后成品

注意事项

  • 如果系统时间不正确,可能导致 HTTPS 证书错误,同步时间:

    复制代码
    yum install ntpdate -y
    ntpdate ntp.aliyun.com
  • CentOS 7 已停止维护,建议升级到 CentOS Stream 8/9 或迁移到其他系统(如 Ubuntu 22.04)。

相关推荐
拉不动的猪25 分钟前
简单回顾下useMemo
前端·javascript·面试
烛阴1 小时前
JavaScript 求幂运算符:告别 Math.pow(),拥抱更优雅的次方计算!
前端·javascript
染的人1 小时前
Layui Table组件,设置data数据源,以及page为False,表格只能显示10条数据的问题
前端·layui
玖玖passion1 小时前
js中的栈
前端·算法
只会安静敲代码的 小周2 小时前
【长按图片识别】uniapp vue开发时,点击图片识别—实现转发、收藏、识别图片二维码
前端·vue.js·uni-app
F26017755922 小时前
uniapp中uni-easyinput 使用@input 不改变绑定的值
java·前端·uni-app
shmily ....2 小时前
从零构建 Vue3 登录页:结合 Vant 组件与 Axios 实现完整登录功能
前端·javascript·vue.js
算是难了3 小时前
什么是事件循环
前端·javascript
nvvas3 小时前
Python:使用web框架Flask搭建网站
前端·python·flask
JarvanMo3 小时前
🚫 停止在 Flutter 中使用 MediaQuery 实现响应式设计
前端