NodeJS 如何指定本地注册表中的Yarn?

twh00eeo  于 2023-02-08  发布在  Node.js
关注(0)|答案(7)|浏览(134)

我有一个本地nexus服务器,我想yarn在上线之前先浏览一下,基本上是prefer-offline

yarn install \
  --prefer-offline \
  --cache-folder C:\folder\yarn-cache \
  --preferred-cache-folder C:\folder\yarn-cache \
  --non-interactive \
  --no-lockfile \
  --registry http://server/repository/npm-group

Yarn离线时找不到依赖项,然后无法上线。我不知道是否可以修复。

velaa5lx

velaa5lx1#

  • 创建一个 * npm(hosted)* 存储库作为你的私有注册表。我相信你已经完成了。
  • 创建一个 * npm(代理)* 存储库,指向您选择的外部存储库(https://registry.yarnpkg.comhttps://registry.npmjs.org/)。
  • 创建一个 * npm(组)*,在第一个位置使用您的私有注册表,在第二个位置使用代理注册表。
  • 将 * yarn * 指向您的组存储库:yarn config set registry http://nexus.local/repository/npm-group/。如果Nexus配置需要,请验证Yarn:yarn login.

还要注意 * yarn * 在其自身上使用任何 * npm * 配置:https://github.com/yarnpkg/yarn/issues/4862

    • Yarnv2+更新:**

Yarn v2+使用一个不同的配置密钥来更新NPM注册表,称为npmRegistryServer(有关详细信息,请参阅其迁移页面):

yarn config set npmRegistryServer http://nexus.local/repository/npm-group/
km0tfn4u

km0tfn4u2#

您可以使用以下命令在yarn中设置不同的注册表:

yarn config set registry <url-to-your-registry>

通过键入以下命令验证是否已设置该值:

yarn config get registry

对于注册表中的一次性更改,您可以使用变量YARN_REGISTRY,如下所示:

YARN_REGISTRY="<url-to-your-registry>" yarn config get registry

YARN_REGISTRY="<url-to-your-registry>" yarn publish
bxpogfeg

bxpogfeg3#

您可以使用.yarnrc文件并添加registry "<your repo URL>"参考-yarnrc

f87krz0w

f87krz0w4#

"抬头"
如果在package.json中定义publishConfig.registry

"publishConfig": {
    "registry": "https://registry.npmjs.org"
  },

仍然会覆盖注册表,即使--registry参数被赋予yarn publish

bvpmtnay

bvpmtnay5#

也不要忘记在更改注册表后重新生成yarn.lock文件。这是必要的,因为yarn.lock包含到旧注册表的链接,并将尝试从该链接安装依赖项。

whhtz7ly

whhtz7ly6#

Hey Yarn 1用户

1.如果您想要为特定的存储库配置注册表,则应该转到存储库中的.npmrc文件。.yarnrc应该配置其他Yarn特性
1.但是,如果你把它放在.yarnrc文件中,它是OK。Yarn将读取.npmrc.yarnrc文件。
1.如果要全局配置注册表,请运行以下命令(例如:我正在使用https://registry.npmmirror.com注册表):

yarn config set registry https://registry.npmmirror.com

请注意,此操作将注册表添加到.yarnrc用户主目录(~/.yarnrc)。添加的行如下所示:

registry "https://registry.npmmirror.com"

对于Yarn2用户,try this answer

适用于NPM用户

1.为存储库配置注册表:

npm config --location=local set registry https://registry.npmmirror.com

1.全局配置注册表(~/.npmrc):

npm config --location=global set registry https://registry.npmmirror.com
368yc8dk

368yc8dk7#

yarn 3 a.k.a. Berry的情况下:

yarn config set 'npmRegistries["http://npm.example.com"]'

相关问题