diff --git a/.changeset/tender-balloons-melt.md b/.changeset/tender-balloons-melt.md new file mode 100644 index 000000000000..2e02f9c5edce --- /dev/null +++ b/.changeset/tender-balloons-melt.md @@ -0,0 +1,7 @@ +--- +'@modern-js/generator-utils': patch +--- + +fix: get package available version error + +fix: 修复获取包可用版本时报错 diff --git a/packages/generator/generator-utils/src/utils/package.ts b/packages/generator/generator-utils/src/utils/package.ts index a03f4237c228..f9cdc5893831 100644 --- a/packages/generator/generator-utils/src/utils/package.ts +++ b/packages/generator/generator-utils/src/utils/package.ts @@ -3,12 +3,16 @@ import { canUseNpm, execa, logger, semver, stripAnsi } from '@modern-js/utils'; // 判断包是否存在 export async function isPackageExist(packageName: string, registry?: string) { if (await canUseNpm()) { - const args = ['view', packageName, 'version']; - if (registry) { - args.push(`--registry=${registry}`); + try { + const args = ['view', packageName, 'version']; + if (registry) { + args.push(`--registry=${registry}`); + } + const result = await execa('npm', args); + return stripAnsi(result.stdout); + } catch (e) { + return false; } - const result = await execa('npm', args); - return stripAnsi(result.stdout); } throw new Error('not found npm, please install npm before'); }