Dans mon package.json
je pointe le paquet local my-custom-i18n
par son chemin relatif:
"dependencies": {
"core-js": "^2.4.1",
"my-custom-i18n": "./../MyProject.Shared/myproject-i18n",
"rxjs": "5.0.0-beta.12",
...
}
npm install
installe les paquetages correctement, mais yarn
a un problème avec lui et ne trouve tout simplement pas ce paquet:
$ yarn
yarn install v0.15.1
info No lockfile found.
[1/4] Resolving packages...
error Couldn't find package "myproject-i18n" on the "npm" registry.
info Visit http://yarnpkg.com/en/docs/cli/install for documentation about this command.
Je vois qu'il en est question dans le registre npm
, où ce paquet ne réside pas.
Y a-t-il un changement à utiliser le fil avec les paquets locaux? Par paquets locaux, je veux dire les paquets désignés par le chemin relatif comme my-custom-i18n
.
Le fil nécessite le préfixe file:
pour les packages locaux.
Pour le chemin relatif:
yarn add file:./../your-project
Pour chemin absolu
yarn add file:/dev/your-project
Pour votre exemple, la dépendance dans package.json
serait déclarée comme suit:
"my-custom-i18n": "file:./../MyProject.Shared/myproject-i18n",
Cela fonctionne aussi bien pour Yarn que pour NPM.
Il s’agit d’une incompatibilité avec le client NPM, l’équipe Yarn est consciente et a déclaré prendre en charge ce comportement - référence sur le problème GitHub .
Mise à jour:
Depuis version v0.21.0 , le préfixe file:
n'est pas nécessaire. Voir pull-request avec fix et changelog .