@oxiaom/adoremix 1.0.34 → 1.0.35
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/package.json +1 -1
- package/src/doctor.js +19 -0
- package/src/paths.js +2 -0
package/package.json
CHANGED
package/src/doctor.js
CHANGED
|
@@ -166,6 +166,25 @@ function runDoctor(workdir, opts) {
|
|
|
166
166
|
native = paths.loadNative();
|
|
167
167
|
logger.ok(`✓ 平台子包 ${native.pkgName}`);
|
|
168
168
|
} catch (e) {
|
|
169
|
+
if (e && e.code === 'NATIVE_VERSION_MISMATCH') {
|
|
170
|
+
const mainVer = e.mainVersion || require('../package.json').version;
|
|
171
|
+
const fixCmd = `npm install -g @oxiaom/adoremix@${mainVer} --registry https://registry.npmjs.org`;
|
|
172
|
+
issues.push({ type: 'native-version-mismatch', severity: 'error', msg: e.message, fixCmd });
|
|
173
|
+
logger.error(`❌ ${e.message.split('\n')[0]}`);
|
|
174
|
+
logger.log(` 自动修复:adoremix doctor --fix(用官方源重装到 v${mainVer})`);
|
|
175
|
+
logger.log(` 或手动执行:${fixCmd}`);
|
|
176
|
+
if (opts.fix) {
|
|
177
|
+
logger.info('==> 用官方源重装主包(含最新子包)...');
|
|
178
|
+
try {
|
|
179
|
+
execSync(fixCmd, { stdio: 'inherit' });
|
|
180
|
+
logger.ok('✓ 已重装,请重新运行 adoremix doctor 确认');
|
|
181
|
+
} catch (e2) {
|
|
182
|
+
logger.error(`重装失败:${(e2.message || '').split('\n')[0]}`);
|
|
183
|
+
logger.warn(` 请手动执行:${fixCmd}`);
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
return reportAndExit(issues, opts);
|
|
187
|
+
}
|
|
169
188
|
issues.push({ type: 'native', severity: 'error', msg: e.message });
|
|
170
189
|
logger.error(`❌ 平台子包未加载:${e.message.split('\n')[0]}`);
|
|
171
190
|
return reportAndExit(issues, opts);
|
package/src/paths.js
CHANGED
|
@@ -47,6 +47,8 @@ function loadNative() {
|
|
|
47
47
|
` 通常是 npm 镜像(npmmirror 等)没同步最新子包导致。请用官方源重装:\n` +
|
|
48
48
|
` npm install -g @oxiaom/adoremix@${mainVer} --registry https://registry.npmjs.org`
|
|
49
49
|
);
|
|
50
|
+
_loadError.code = 'NATIVE_VERSION_MISMATCH';
|
|
51
|
+
_loadError.mainVersion = mainVer;
|
|
50
52
|
throw _loadError;
|
|
51
53
|
}
|
|
52
54
|
} catch (e) {
|