|
@@ -1,16 +1,52 @@
|
|
|
#!/bin/bash
|
|
#!/bin/bash
|
|
|
|
|
+# macOS 启动器(Windows 请用 启动.bat)
|
|
|
cd "$(dirname "$0")" || exit 1
|
|
cd "$(dirname "$0")" || exit 1
|
|
|
|
|
|
|
|
-# Node.js >= 22.13(内置 SQLite 驱动 node:sqlite 不再需要 flag)
|
|
|
|
|
-if ! command -v node >/dev/null 2>&1; then
|
|
|
|
|
- echo "未检测到 Node.js。请先安装 Node.js 22.13 或更高版本:https://nodejs.org/"
|
|
|
|
|
- exit 1
|
|
|
|
|
|
|
+# Finder 双击不会加载 shell 配置:补上 Homebrew / nvm / volta 常见路径
|
|
|
|
|
+export PATH="/opt/homebrew/bin:/usr/local/bin:$HOME/.volta/bin:$HOME/.local/bin:$PATH"
|
|
|
|
|
+if [ -s "$HOME/.nvm/nvm.sh" ]; then
|
|
|
|
|
+ # shellcheck disable=SC1090
|
|
|
|
|
+ . "$HOME/.nvm/nvm.sh" >/dev/null 2>&1
|
|
|
fi
|
|
fi
|
|
|
-node -e "const [a,b]=process.versions.node.split('.').map(Number);if(a<22||(a===22&&b<13)){console.error('当前 Node.js '+process.version+' 过低,需要 22.13 及以上。');process.exit(1)}" || exit 1
|
|
|
|
|
|
|
+
|
|
|
|
|
+fail() {
|
|
|
|
|
+ echo ""
|
|
|
|
|
+ echo "[错误] $1"
|
|
|
|
|
+ echo ""
|
|
|
|
|
+ if [ -t 0 ]; then
|
|
|
|
|
+ read -n 1 -s -r -p "按任意键关闭窗口…"
|
|
|
|
|
+ echo ""
|
|
|
|
|
+ fi
|
|
|
|
|
+ exit 1
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+echo "============================================"
|
|
|
|
|
+echo " 智慧运营中台 - macOS 启动器"
|
|
|
|
|
+echo " 目录:$(pwd)"
|
|
|
|
|
+echo "============================================"
|
|
|
|
|
+echo ""
|
|
|
|
|
+
|
|
|
|
|
+command -v node >/dev/null 2>&1 || fail "未检测到 Node.js。请安装 Node.js 22.13 或更高版本:https://nodejs.org/"
|
|
|
|
|
+command -v npm >/dev/null 2>&1 || fail "未检测到 npm(通常随 Node.js 一起安装)。"
|
|
|
|
|
+
|
|
|
|
|
+node -e "const [a,b]=process.versions.node.split('.').map(Number);if(a<22||(a===22&&b<13)){console.error('当前 Node.js '+process.version+' 过低,需要 22.13 及以上。');process.exit(1)}" \
|
|
|
|
|
+ || fail "Node.js 版本过低:$(node -v),需要 22.13 及以上。"
|
|
|
|
|
+
|
|
|
|
|
+echo "使用 Node:$(command -v node) ($(node -v))"
|
|
|
|
|
+echo ""
|
|
|
|
|
|
|
|
if [ ! -d node_modules ]; then
|
|
if [ ! -d node_modules ]; then
|
|
|
- echo "正在安装依赖..."
|
|
|
|
|
- npm install || exit 1
|
|
|
|
|
|
|
+ echo "正在安装依赖(首次启动需要几分钟)..."
|
|
|
|
|
+ npm install || fail "依赖安装失败,请检查网络后重试。"
|
|
|
fi
|
|
fi
|
|
|
-echo "正在启动智慧运营中台..."
|
|
|
|
|
|
|
+
|
|
|
|
|
+echo "正在启动服务,启动后请保持本窗口不要关闭..."
|
|
|
|
|
+echo "浏览器访问:http://localhost:5177"
|
|
|
|
|
+echo ""
|
|
|
npm start
|
|
npm start
|
|
|
|
|
+
|
|
|
|
|
+echo ""
|
|
|
|
|
+if [ -t 0 ]; then
|
|
|
|
|
+ read -n 1 -s -r -p "服务已退出,按任意键关闭窗口…"
|
|
|
|
|
+ echo ""
|
|
|
|
|
+fi
|