fix(install): npm-cli.js path + CONTRIBUTING/PR template
install.sh: bundled Node 的 INSTALL_NPM 之前指向 bin/npm shell wrapper, 通过 \"node npm\" 调用会失败。改为 lib/node_modules/npm/bin/npm-cli.js, 并加 run_npm() 帮助函数区分系统 Node(用 npm 可执行)和 bundled Node。 install.ps1: 系统 Node 场景下 npm-cli.js 路径推导脆弱。改为按候选路径 依次试探,找不到则直接退到 npm.cmd。 新增 CONTRIBUTING.md + .github/PULL_REQUEST_TEMPLATE.md,规范 PR 流程, 减少空白/无说明 PR(对应 issue PR #36)。 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -121,7 +121,7 @@ if [ "$USE_SYSTEM_NODE" = "false" ]; then
|
||||
if [ -f "$NODE_INSTALL_DIR/bin/node" ]; then
|
||||
echo -e " ${GREEN}✓${NC} Node.js 已存在,跳过下载"
|
||||
INSTALL_NODE="$NODE_INSTALL_DIR/bin/node"
|
||||
INSTALL_NPM="$NODE_INSTALL_DIR/bin/npm"
|
||||
INSTALL_NPM="$NODE_INSTALL_DIR/bin/npm-cli.js"
|
||||
else
|
||||
echo -e " ${CYAN}↓${NC} 从国内镜像下载 Node.js $NODE_VERSION ($PLATFORM)..."
|
||||
TARBALL="node-${NODE_VERSION}-${PLATFORM}.tar.gz"
|
||||
@@ -144,7 +144,7 @@ if [ "$USE_SYSTEM_NODE" = "false" ]; then
|
||||
if [ -f "$NODE_INSTALL_DIR/bin/node" ]; then
|
||||
echo -e " ${GREEN}✓${NC} Node.js 安装完成"
|
||||
INSTALL_NODE="$NODE_INSTALL_DIR/bin/node"
|
||||
INSTALL_NPM="$NODE_INSTALL_DIR/bin/npm"
|
||||
INSTALL_NPM="$NODE_INSTALL_DIR/lib/node_modules/npm/bin/npm-cli.js"
|
||||
else
|
||||
echo -e " ${RED}✗ Node.js 下载失败${NC}"
|
||||
exit 1
|
||||
@@ -152,6 +152,16 @@ if [ "$USE_SYSTEM_NODE" = "false" ]; then
|
||||
fi
|
||||
fi
|
||||
|
||||
# Helper: invoke npm. For bundled Node we have npm-cli.js (run via node).
|
||||
# For system Node, INSTALL_NPM is the npm shell wrapper (executable).
|
||||
run_npm() {
|
||||
if [ "$USE_SYSTEM_NODE" = "true" ]; then
|
||||
"$INSTALL_NPM" "$@"
|
||||
else
|
||||
"$INSTALL_NODE" "$INSTALL_NPM" "$@"
|
||||
fi
|
||||
}
|
||||
|
||||
echo ""
|
||||
|
||||
# ============================================================
|
||||
@@ -176,7 +186,7 @@ PKGJSON
|
||||
fi
|
||||
|
||||
echo -e " ${CYAN}↓${NC} 从国内镜像安装..."
|
||||
"$INSTALL_NODE" "$INSTALL_NPM" install --prefix "$CORE_DIR" --registry="$MIRROR" 2>&1 | tail -5
|
||||
run_npm install --prefix "$CORE_DIR" --registry="$MIRROR" 2>&1 | tail -5
|
||||
echo -e " ${GREEN}✓${NC} OpenClaw 安装完成"
|
||||
fi
|
||||
|
||||
@@ -191,7 +201,7 @@ if [ -d "$CORE_DIR/node_modules/@sliverp/qqbot" ]; then
|
||||
echo -e " ${GREEN}✓${NC} QQ 插件已安装,跳过"
|
||||
else
|
||||
echo -e " ${CYAN}↓${NC} 安装 QQ 插件..."
|
||||
"$INSTALL_NODE" "$INSTALL_NPM" install @sliverp/qqbot@latest --prefix "$CORE_DIR" --registry="$MIRROR" 2>/dev/null || {
|
||||
run_npm install @sliverp/qqbot@latest --prefix "$CORE_DIR" --registry="$MIRROR" 2>/dev/null || {
|
||||
echo -e " ${YELLOW}⚠${NC} QQ 插件安装失败(不影响主功能)"
|
||||
}
|
||||
if [ -d "$CORE_DIR/node_modules/@sliverp/qqbot" ]; then
|
||||
|
||||
Reference in New Issue
Block a user