要在 Linux 不联网服务器 上部署并运行 Gitee 上的 vue-vben-admin 项目,并且该项目使用的是 pnpm 管理依赖

目录

✅ 目标:在不联网服务器中成功运行 vue-vben-admin

👉 你需要的最终环境:

✅ 场景:完全离线部署并运行开发/构建环境

🧱 步骤总览:

🛠 详细操作流程

✅ 第 1 步:联网机器准备依赖

1. 克隆项目并进入目录

 2. 安装 pnpm 并安装依赖

3. 导出依赖缓存

4. 复制以下内容到离线部署包

✅ 第 2 步:创建 setup.sh 安装脚本

✅ 第 3 步:打包整个离线部署包并拷贝到服务器

✅ 第 4 步:在服务器上部署运行

✅ 推荐补充(构建后部署)

📦 补充建议


✅ 目标:在不联网服务器中成功运行 vue-vben-admin

👉 你需要的最终环境:

组件描述
Node.js建议使用 Node.js v18 或 v20(你已有 v20.19.2)
pnpm建议版本 v8.15.4(你将离线安装)
vue-vben-admin克隆或下载完整项目
离线依赖缓存提前在联网机器上通过 pnpm 拉取并导出
构建结果(可选)如果只是部署前端静态站点,可构建后拷贝即可

✅ 场景:完全离线部署并运行开发/构建环境

🧱 步骤总览:

  1. ✅ 在联网机器准备完整环境和依赖缓存

  2. ✅ 将项目源码和依赖缓存打包

  3. ✅ 在离线服务器中部署 Node.js、pnpm 和缓存

  4. ✅ 运行 pnpm install(离线),再 pnpm devpnpm build

🛠 详细操作流程


✅ 第 1 步:联网机器准备依赖

1. 克隆项目并进入目录
git clone https://gitee.com/annsion/vue-vben-admin.git
cd vue-vben-admin
 2. 安装 pnpm 并安装依赖
npm install -g pnpm@8.15.4
pnpm install
3. 导出依赖缓存
pnpm store export > pnpm-store.tar.gz
4. 复制以下内容到离线部署包
文件或目录用途
vue-vben-admin/项目源码
pnpm 可执行文件在联网机器中 which pnpm
pnpm-store.tar.gz缓存依赖包
setup.sh自动部署脚本(下一步生成)


✅ 第 2 步:创建 setup.sh 安装脚本

创建 setup.sh(可放在 vue-vben-admin 根目录外),内容如下:

#!/bin/bash
set -eecho "📦 解压 pnpm store..."
mkdir -p /opt/pnpm-store
tar -xzf pnpm-store.tar.gz -C /opt/pnpm-storeecho "🔧 安装 pnpm 可执行文件..."
mkdir -p /opt/pnpm
cp ./pnpm /opt/pnpm/pnpm
chmod +x /opt/pnpm/pnpmecho "🌐 设置环境变量..."
if ! grep -q "PNPM_HOME" ~/.bashrc; thenecho 'export PNPM_HOME=/opt/pnpm' >> ~/.bashrcecho 'export PATH="$PNPM_HOME:$PATH"' >> ~/.bashrcecho 'export PNPM_STORE_PATH=/opt/pnpm-store' >> ~/.bashrc
fi
source ~/.bashrcecho "✅ 环境配置完成,开始安装依赖..."
cd vue-vben-admin
pnpm install --offlineecho "🎉 安装完成!你可以运行以下命令:"
echo "  pnpm dev      # 本地开发模式"
echo "  pnpm build    # 构建生产站点"

给脚本执行权限:

chmod +x setup.sh

✅ 第 3 步:打包整个离线部署包并拷贝到服务器

cd ..
tar -czf vue-vben-offline-package.tar.gz vue-vben-admin pnpm pnpm-store.tar.gz setup.sh

然后使用 scp、U盘、移动硬盘等方式拷贝到不联网的服务器。


✅ 第 4 步:在服务器上部署运行

tar -xzf vue-vben-offline-package.tar.gz
cd vue-vben-admin
../setup.sh      # 执行部署脚本# 激活环境变量
source ~/.bashrc# 启动服务
pnpm dev         # 开发环境
pnpm build       # 构建生产站点(输出到 dist/)

✅ 推荐补充(构建后部署)

如果你只想部署静态页面:

pnpm build
# dist/ 目录可以使用 nginx 托管:
sudo cp -r dist/ /var/www/html/
# 或者使用 node serve:
npm install -g serve
serve -s dist

📦 补充建议

  • 🔁 每次升级依赖后,需重新执行 pnpm store export

  • ✅ 建议在 .npmrc.pnpmfile.cjs 中锁定 registry 或包源版本

  • 🌐 项目也有后端服务,请根据项目文档分开部署

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/910484.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/910484.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

中国风国潮通用PPT模版

中国风答辩总结汇报类通用PPT模版,古风PPT通用模版,国学精品PPT模版,中国风韵PPT模版 中国风国潮通用PPT模版:https://pan.quark.cn/s/59cea717fe8d

【nvidia-H100-ib排障实战2】:服务器 InfiniBand 网络性能问题深度分析

目录 InfiniBand 网络性能日志: 实际生产服务器 InfiniBand 网络性能问题深度分析 一、核心问题定位:mlx5_1 设备性能异常 二、问题详细分析 1. mlx5_1 设备异常原因推测 (1)硬件连接故障 (2)驱动或固件问题 (3)资源争用或配置错误 2. CPU 频率不一致问题 三…

Postgresql中不同数据类型的长度限制

目录 一、字符类型(Character Types) 二、二进制类型(Binary Types) 三、数值类型(Numeric Types) 四、其他类型 五、全局限制:单行数据总大小 示例对比表 注意事项 验证命令 在 Postgr…

Unity Hub 新建项目,启动 Unity 闪退的解决办法

问题: Win11: Unity 闪退,提示 Could not connect project 原因 这是 Firewall & network protection 在作怪,真的我感觉 Windows Defender 就从来没干过好事,那个遍地是病毒的年代微软你不搞个杀毒软件,现在…

学习打卡---回溯

回溯,所有回溯都可以转换成树形结构进行解决 我们将树形结构分为纵向和横向两个方面 递归是纵向循环,也就是纵向方面,到了叶子节点就收网回溯 循环是横向循环,也就是横向方面,到了数组末尾就结束 回溯属于是将二叉树的…

阿里云获取DASHSCOPE_API_KEY教程,以及配置DASHSCOPE_API_KEY环境变量

要获取阿里云的 DASHSCOPE_API_KEY(通义千问API密钥),需要在阿里云平台上完成开通服务和创建密钥的流程。以下是具体步骤: 1. 开通通义千问API服务 登录阿里云账号 访问 阿里云官网,使用账号密码或RAM用户登录。 进入…

《去哪儿网Redis高并发实战:从问题定位到架构升级》

去哪儿网Redis高并发实战:从问题定位到架构升级 在互联网行业竞争日益激烈的当下,高并发场景下的系统性能优化一直是技术团队面临的重要挑战。对于去哪儿网这类在线旅游平台来说,节假日期间的流量高峰更是对系统架构的严峻考验。本文将深入剖…

Zynq + FreeRTOS + YAFFS2 + SQLite3 集成指南

Zynq FreeRTOS YAFFS2 SQLite3 集成指南 一、系统架构设计 #mermaid-svg-qvuP6slyza89wsiT {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-qvuP6slyza89wsiT .error-icon{fill:#552222;}#mermaid-svg-qvuP6slyz…

设计模式精讲 Day 6:适配器模式(Adapter Pattern)

【设计模式精讲 Day 6】适配器模式(Adapter Pattern) 文章内容 在“设计模式精讲”系列的第6天,我们将深入讲解适配器模式(Adapter Pattern)。作为结构型设计模式之一,适配器模式的核心思想是将一个类的接…

系统稳定性治理

一、微服务内部异常 描述 微服务Pod自动重启表现:服务波动(响应时间不稳定)、监控指标异常(Pod重启次数增加,CPU/内存波动)、Kubernetes事件记录容器重启原因影响:服务中断、性能波动、资源消耗…

多智能体协同的力量:赋能AI安全报告系统的智能设计之道

“设想一个由‘数据采集者’、‘风险分析师’、‘报告撰写员’甚至‘合规监督员’组成的虚拟团队,它们如何携手打造一份深度洞察、精准预警的危化安全报告?这正是多智能体协作在AI安全领域的魅力所在。” 一、挑战升级:单一AI难以应对的复杂性…

ceph pg 卡在 active+clean+remapped 状态

场景 ceph 环境中有个 osd.0 做了 raid0 ,后来想剔除掉,执行了 ceph osd out 0 然后等了很长时间等 pg 数据迁移到别的 osd,但是最后有一个 pg 状态卡在了 active+clean+remapped 状态。如下: ceph pg ls-by-osd 0 PG OBJECTS DEGRADED MISPLACED UNFOUND BYTES …

systemd[1]: Failed to start LSB: Bring up/down networking

使用ssh连接虚拟机服务时,连接异常,虚拟机系统centos 7,于是登录虚拟机,查看服务ip,发现配置的静态ip未生效。因此重启网卡systemctl restart network,出现报错,使用systemctl status network查…

Go 语言使用 excelize 库操作 Excel 的方法

在笔者开发的项目中,有操作excel的需要,由于go操作excel比较方便且功能强大,于是选择使用go来操作excel。github.com/360EntSecGroup-Skylar/excelize库是一个功能强大且易于使用的库,它支持创建、读取和修改 Excel 文件&#xff…

Java基础(三):逻辑运算符详解

Java基础系列文章 Java基础(一):发展史、技术体系与JDK环境配置详解 Java基础(二):八种基本数据类型详解 Java基础(三):逻辑运算符详解 目录 一、什么是逻辑运算符?二、基础逻辑运算符(3种)1、&&…

Bugku-CTF-web

最近刷了一下 Bugku-CTF-web 的61-70题(平台目前只有67),好难好难,全都是知识的盲区。各种代码审计,各种反序列化,各种反弹shell,各种模版注入,各种字符串绕过,可以说是W…

GitLab 工具如何提升我的工作效率

在当今快节奏的软件开发和技术创作领域,作为一名博主,高效的工作流程和强大的协作工具至关重要。GitLab 作为一款集成了版本控制、项目管理、持续集成与持续部署(CI/CD)等功能于一体的平台,为我的工作带来了巨大的便利…

Unity Addressable使用之服务器远程加载

本地模拟服务器加载 1、创建一个Profiles,将Remote设为Editor Hosted 2、在Addressables Group窗口将Profile设为Local Test 3、将某个Asset Groups设为Remote加载 4、Build资源 5、打开本地模拟服务器 Addressables Hosting 窗口是 Addressable 提供的一个内置本…

Java基础八股文 - 面试者心理历程与标准答案

Java基础八股文 - 面试者心理历程与标准答案 前言:如何应对Java基础面试问题 面试Java基础时,很多候选人会因为紧张而忘记平时熟悉的知识点。本文将从面试者的心理历程出发,教你如何在面试中用自己的思路组织答案,然后给出标准回…

学习笔记088——Windows配置Tomcat自启

1、下载 下载Windows版本tomcat。本文下载的版本是: apache-tomcat-9.0.31-windows-x64.zip 点击下载 注意:要确保bin目录下有 service.bat 文件! 2、配置服务 解压后,终端进入bin⽬录,安装服务:service…