150 votes

Comment installer un paquet avec un chemin local par Yarn? Il n'a pas pu trouver le paquet

Dans mon package.json je suis pointant forfait local my-custom-i18n par son chemin relatif:

package.json

"dependencies": {
 "core-js": "^2.4.1",
 "my-custom-i18n": "./../MyProject.Shared/myproject-i18n",
 "rxjs": "5.0.0-beta.12",
 ...
}

npm install installe les paquets correctement, mais yarn a un problème avec elle et ne peut tout simplement pas trouver ce package:

fil de sortie

$ 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 regarde sur l' npm de registre, où ce paquet n'est pas vivre.

Question

Est-il tout changer pour utiliser le fil avec local des paquets? En local je veux dire paquets pointé par le chemin relatif my-custom-i18n.

273voto

Piotr Lewandowski Points 2603

Fil nécessite préfixe file: pour les lots locaux.

Pour le chemin relatif:

yarn add file:./../your-project

Pour le chemin d'accès absolu

yarn add file:/dev/your-project

Pour votre exemple, la dépendance en package.json devrait être déclaré comme suit:

 "my-custom-i18n": "file:./../MyProject.Shared/myproject-i18n",

Cela fonctionne à la fois pour les Fils et les MNP.

C'est l'incompatibilité avec NPM client, Fils de l'équipe est au courant et a déclaré à l'appui de ce comportement de référence sur GitHub question.

Mise à jour:

Depuis v0.21.0 de presse, file: préfixe n'est pas nécessaire. Voir la pull-request avec fix et changelog.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X