要在 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
英文地址,請注明出處:http://en.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…