https://github.com/pnpm/pnpm/issues/5581#issuecomment-1448060012
遇到了和这个issue一样的问题,在npm yarn种这种操作是可行的
pnpm add vue@^3 --registry=https://registry.npmmirror.com(... OK)
pnpm add element-plus --registry=https://mirrors.cloud.tencent.com/npm/(...Error)
但是在pnpm中会报错
This modules directory was created using the following registries configuration: {"default":"https://registry.npmjs.org/"}. The current configuration is {"default":"xxxxxx我是私有源urlxxxxxxxx"}. To recreate the modules directory using the new settings, run "pnpm install".
所以如何在使用npm源的同时,某个私有包使用自己的私有源?
在pnpm7.x中支持在.npmrc中配置scope
@babel:registry=https://example.com/packages/npm/ will enforce that when you use pnpm add @babel/core, or any @babel scoped package, the package will be fetched from https://example.com/packages/npm instead of the default registry.
但是我的私有包没有做@(scope)这个符号开头,如果不写@,myPackage:registry=xxx也是不行的
chatgpt的回答,你可以试试
如何在 PNPM 中同时使用多个镜像源
要在 PNPM 中使用多个镜像源,可以在 .npmrc 文件中指定它们。.npmrc 文件是 npm 和 PNPM 的配置文件。
要将镜像源添加到 .npmrc 文件中,可以使用以下命令:
npm config set registry <registry-url>
例如,要添加 https://registry.npm.taobao.org/ 镜像源,可以使用以下命令:
npm config set registry https://registry.npm.taobao.org/
要使用多个镜像源,可以将多个镜像源 URL 添加到 .npmrc 文件中。例如:
registry=https://registry.npm.taobao.org/
@mycompany:registry=https://npm.mycompany.com/
这将使用 https://registry.npm.taobao.org/ 镜像源来下载除了以 @mycompany 开头的包之外的所有包,而以 @mycompany 开头的包将使用 https://npm.mycompany.com/ 镜像源。
在您的代码库中,您可以检查 .npmrc 文件以查看是否已指定任何镜像源。您还可以修改 .npmrc 文件以添加其他镜像源。
希望这可以帮助您!如果您有任何进一步的问题,请告诉我。