@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.
Files changed (2) hide show
  1. package/bin/dg-cli.js +18 -2
  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
- try {
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] 提示: 缺可执行位,尝试 chmod +x "${binPath}" 后重试`);
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.0",
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.0",
17
- "@gbits-jszx/dg-cli-linux-arm64": "0.8.0",
18
- "@gbits-jszx/dg-cli-darwin-x64": "0.8.0",
19
- "@gbits-jszx/dg-cli-darwin-arm64": "0.8.0",
20
- "@gbits-jszx/dg-cli-win32-x64": "0.8.0"
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": {