@gbits-jszx/dg-cli 0.8.0 → 0.8.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/dg-cli.js +18 -2
- package/package.json +6 -6
package/bin/dg-cli.js
CHANGED
|
@@ -75,19 +75,35 @@ try {
|
|
|
75
75
|
process.exit(2);
|
|
76
76
|
}
|
|
77
77
|
|
|
78
|
-
|
|
78
|
+
function runOnce() {
|
|
79
79
|
execFileSync(binPath, process.argv.slice(2), {
|
|
80
80
|
stdio: "inherit",
|
|
81
81
|
env: process.env,
|
|
82
82
|
});
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
try {
|
|
86
|
+
runOnce();
|
|
83
87
|
} catch (err) {
|
|
88
|
+
// EACCES(非 Windows):平台子包在 NTFS 上打包会丢可执行位,且子包无 bin 字段,
|
|
89
|
+
// npm 不会自动置 0755,解压后是 0644 → 二进制起不来。自动补 chmod 0755 重试一次,
|
|
90
|
+
// 免去用户手动 chmod;自愈成功透传子进程退出码,失败再落到下方统一诊断。
|
|
91
|
+
if (err && err.code === "EACCES" && platform !== "win32") {
|
|
92
|
+
try {
|
|
93
|
+
require("fs").chmodSync(binPath, 0o755);
|
|
94
|
+
runOnce();
|
|
95
|
+
process.exit(0);
|
|
96
|
+
} catch (err2) {
|
|
97
|
+
err = err2; // 自愈失败 → 用最新错误走统一处理
|
|
98
|
+
}
|
|
99
|
+
}
|
|
84
100
|
// 若子进程根本没起来(EACCES / ENOENT 等),stdio:inherit 也拿不到任何输出,
|
|
85
101
|
// 必须自己打印才能让用户看到根因;正常退出码非 0 时不打扰。
|
|
86
102
|
if (err && err.code && err.code !== 0 && typeof err.status !== "number") {
|
|
87
103
|
console.error(`[dg-cli] 启动失败: ${err.code} ${err.message}`);
|
|
88
104
|
console.error(`[dg-cli] 二进制: ${binPath}`);
|
|
89
105
|
if (err.code === "EACCES") {
|
|
90
|
-
console.error(`[dg-cli] 提示:
|
|
106
|
+
console.error(`[dg-cli] 提示: 自动 chmod 失败,请手动执行 chmod +x "${binPath}" 后重试`);
|
|
91
107
|
}
|
|
92
108
|
}
|
|
93
109
|
process.exit(typeof err.status === "number" ? err.status : 1);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gbits-jszx/dg-cli",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.9",
|
|
4
4
|
"description": "DataGateway CLI — 部署/运维/配置一站式(Go binary,npx 分发)",
|
|
5
5
|
"bin": {
|
|
6
6
|
"dg-cli": "bin/dg-cli.js"
|
|
@@ -13,11 +13,11 @@
|
|
|
13
13
|
"node": ">=14"
|
|
14
14
|
},
|
|
15
15
|
"optionalDependencies": {
|
|
16
|
-
"@gbits-jszx/dg-cli-linux-x64": "0.8.
|
|
17
|
-
"@gbits-jszx/dg-cli-linux-arm64": "0.8.
|
|
18
|
-
"@gbits-jszx/dg-cli-darwin-x64": "0.8.
|
|
19
|
-
"@gbits-jszx/dg-cli-darwin-arm64": "0.8.
|
|
20
|
-
"@gbits-jszx/dg-cli-win32-x64": "0.8.
|
|
16
|
+
"@gbits-jszx/dg-cli-linux-x64": "0.8.9",
|
|
17
|
+
"@gbits-jszx/dg-cli-linux-arm64": "0.8.9",
|
|
18
|
+
"@gbits-jszx/dg-cli-darwin-x64": "0.8.9",
|
|
19
|
+
"@gbits-jszx/dg-cli-darwin-arm64": "0.8.9",
|
|
20
|
+
"@gbits-jszx/dg-cli-win32-x64": "0.8.9"
|
|
21
21
|
},
|
|
22
22
|
"license": "MIT",
|
|
23
23
|
"repository": {
|