web-dev-qa-db-fra.com

Comment utiliser plusieurs registres npm dans Yarn?

J'essaie de configurer Yarn 0.17.9 dans notre environnement mais j'ai un problème avec notre registre. Nous utilisons actuellement deux registres, npmjs officiels et notre propre registre sur le réseau interne (Sinopia).

Le problème est que nous utilisons un outil interne pour extraire les packages de l'un ou de l'autre avec l'indicateur --registry via npm install. yarn add n'a pas d'option --registry et je ne peux pas définir le registre personnalisé globalement avec le repli sur npmjs. J'ai essayé .npmrc mais il ne définit qu'un seul registre pour npm/fil dans le projet. .yarnrc ne semble pas fonctionner et est réduit au silence par .npmrc

Existe-t-il un moyen de spécifier deux registres (retour au deuxième registre si le package n'est pas trouvé dans le premier)? Ou spécifier un registre npm différent par package?

17
kraklin

Yarn ne prend pas en charge le drapeau --registry comme npm mais vous pouvez configurer votre registre dans .yarnrc

Si votre .yarnrc est ignoré, il peut être copié hors du ~/.yarnrc en utilisant:

yarn config set registry http://registry.com/registry//
8
Andrés Andrade

Vous pouvez créer un .yarnrc fichier à la racine du projet et écrivez cette ligne dans ce fichier:

registry "https://registry.npmjs.org/"

Cela agira comme un référentiel spécifique au projet.

4
Himanshu sharma

Vous pouvez essayer de définir un registre différent dans .npmrc et .yarnrc.

Ainsi, par exemple: dans .npmrc:

registry=https://yourcompany/
virtual/:_authToken=credentials
always-auth=true

always-auth = true doit être la toute dernière ligne du fichier

Et en .yarnrc:

registry "https://registry.yarnpkg.com"

Ensuite yarn add/npm install + private-pakage/public-packge fonctionnera.

0
congce wang