
























@@ -787,10 +787,13 @@ async function installCandidate(params: {
787787const existingNpmPackagePath = npmInstallSpec
788788 ? resolveExistingCandidateNpmPackagePath({ candidate, npmDir })
789789 : null;
790+const existingNpmPackageVersion = existingNpmPackagePath
791+ ? await readNpmPackageVersion(existingNpmPackagePath)
792+ : undefined;
790793if (
791794existingNpmPackagePath &&
795+existingNpmPackageVersion &&
792796npmInstallSpec &&
793-clawhubInstallSpec &&
794797params.mode !== "update" &&
795798isPostCoreConvergencePass(params.env)
796799) {
@@ -800,6 +803,7 @@ async function installCandidate(params: {
800803 npmInstallSpec,
801804npmRecordSpec: npmSpecs?.recordSpec ?? npmInstallSpec,
802805packagePath: existingNpmPackagePath,
806+version: existingNpmPackageVersion,
803807});
804808}
805809const shouldTryClawHub =
@@ -965,12 +969,12 @@ async function adoptExistingNpmPackage(params: {
965969npmInstallSpec: string;
966970npmRecordSpec: string;
967971packagePath: string;
972+version: string;
968973}): Promise<{
969974records: Record<string, PluginInstallRecord>;
970975changes: string[];
971976warnings: string[];
972977}> {
973-const version = await readNpmPackageVersion(params.packagePath);
974978const npmName = parseRegistryNpmSpec(params.npmInstallSpec)?.name;
975979return {
976980records: {
@@ -980,9 +984,10 @@ async function adoptExistingNpmPackage(params: {
980984spec: params.npmRecordSpec,
981985installPath: params.packagePath,
982986installedAt: new Date().toISOString(),
983- ...(version ? { version, resolvedVersion: version } : {}),
987+version: params.version,
988+resolvedVersion: params.version,
984989 ...(npmName ? { resolvedName: npmName } : {}),
985- ...(npmName && version ? { resolvedSpec: `${npmName}@${version}` } : {}),
990+ ...(npmName ? { resolvedSpec: `${npmName}@${params.version}` } : {}),
986991},
987992},
988993changes: [
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。