Yarn: Yarn global ne détectant pas de licence dans package.json

Créé le 4 juil. 2017  ·  21Commentaires  ·  Source: yarnpkg/yarn

Voulez-vous demander une fonctionnalité ou signaler un bogue ?
Punaise

Quel est le comportement actuel?
L'installation de packages globaux ne détecte pas toujours le champ de licence.

Si le comportement actuel est un bogue, veuillez fournir les étapes à reproduire.

yarn global add xo
➜  agenda git:(feature/update_dev_deps) ✗ yarn global add xo          
yarn global v0.27.5
warning package.json: No license field
warning No license field
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
success Installed "[email protected]" with binaries:
      - xo
warning No license field
Done in 47.10s.
➜  agenda git:(feature/update_dev_deps) ✗ which xo
/usr/local/bin/xo
➜  agenda git:(feature/update_dev_deps) ✗ realpath /usr/local/bin/xo
/Users/xo/.config/yarn/global/node_modules/xo/cli.js
➜  agenda git:(feature/update_dev_deps) ✗ cat /Users/xo/.config/yarn/global/node_modules/xo/package.json | grep license
  "license": "MIT",

Quel est le comportement attendu?
Pour qu'il s'installe sans avertissement sur la licence manquante.

Veuillez mentionner votre node.js, votre fil et la version de votre système d'exploitation.
Nœud: v8.1.3
Fil: 0.27.5
Système d'exploitation: macOS Sierra 10.12.3 (16D32)

cat-bug good first issue triaged

Commentaire le plus utile

@ tony-kerz J'obtenais cet avertissement quand j'avais un package.json assis dans mon répertoire racine Projects (par exemple Projects/my-package ). J'ai dû exécuter accidentellement yarn dans ce répertoire une fois, mais la suppression de ce fichier a fait disparaître les avertissements

Tous les 21 commentaires

J'ai essayé de déboguer cela, et il semble que ce dont yarn se plaint n'est pas la licence pour le paquet xo , mais la licence pour le fichier package.json utilisateur. Lorsque yarn global est utilisé, yarn garde un package.json avec tous les packages que l'utilisateur a installés globalement répertoriés comme dépendances. En ce moment, le mien ressemble à ceci:

{
  "dependencies": {
    "create-react-app": "^1.3.1",
    "typescript": "^2.3.2",
    "xo": "^0.18.2"
  }
}

Ces 3 sont les seuls packages que j'ai installés globalement dans mon système. Comme vous pouvez le voir, ce fichier n'a pas de licence, pas même de nom, c'est pourquoi un avertissement est émis. Peut-être que la fonction validate dans normalize-manifest pourrait recevoir un paramètre supplémentaire pour ignorer cette vérification lors de l'exécution de yarn global .

Peut-être que la fonction validate dans normalize-manifest pourrait recevoir un paramètre supplémentaire pour ignorer cette vérification lors de l'exécution de yarn global.

@bestander @arcanis Je pense que c'est la voie à suivre. Qu'est-ce que tu penses?

@BYK @kaylieEB On dirait que cela peut être fermé à la # 3921

Merci @olingern !

Cela se produit toujours bien que v1.2.1

étrange, je reçois:

yarn install v1.2.1
warning ../package.json: No license field

mais dans package.json :

  "license": "MIT",

@ tony-kerz J'obtenais cet avertissement quand j'avais un package.json assis dans mon répertoire racine Projects (par exemple Projects/my-package ). J'ai dû exécuter accidentellement yarn dans ce répertoire une fois, mais la suppression de ce fichier a fait disparaître les avertissements

@chrisdothtml c'était tout à fait ça, merci mec!

J'ai besoin de garder package.json à la racine de mon application native react.

Comment désactiver cet avertissement dans ce cas?

@realtebo Si vous n'avez pas l'intention de le publier sous forme de package, vous pouvez simplement définir "private": true . Cela devrait désactiver l'avertissement

Merci, @chrisdothtml . Je l'ai déjà fait, mais rien ne change.

@realtebo Quand vous package.json ou yarn.lock assis dans votre racine système, juste cd ~ , alors vous pouvez trouver package.json & yarn.lock . Vous devez supprimer ces fichiers pour que les avertissements disparaissent.

@iTonyYo : Je ne suis plus sur la situation que j'ai rapportée il y a quelques mois, donc je ne peux rien essayer.

Mais j'aime votre réponse et j'ai collé le lien dans mon tableau de bord personnel.À l'avenir, je le trouverai comme premier résultat avant que le système n'aille sur Google pour effectuer une recherche.

Ce problème a été résolu mais le problème n'a pas été résolu. Pourquoi yarn recherche-t-il la structure du répertoire alors qu'il a déjà trouvé le fichier package.json dans le répertoire courant? Il est assez courant que des projets existent dans d'autres projets en cours de développement, en particulier à l'aide de gitmodules.

Pourquoi yarn recherche-t-il la structure du répertoire alors qu'il a déjà trouvé le fichier package.json dans le répertoire courant?

Le problème décrit précédemment était qu'il n'y avait pas de package.json dans le répertoire actuel iirc. Vous voudrez peut-être ouvrir un nouveau numéro (avec des étapes de repro précises, s'il vous plaît).

@chrisdothtml packagge.json ne doit pas être supprimé de votre projet car lorsque vous travaillez avec un système subversion, l'utilisateur qui clonera votre référentiel ne pourra pas installer les dépendances.

Billal Begueradj

@ tony-kerz J'obtenais cet avertissement quand j'avais un package.json assis dans mon répertoire racine Projects (par exemple Projects/my-package ). J'ai dû exécuter accidentellement yarn dans ce répertoire une fois, mais la suppression de ce fichier a fait disparaître les avertissements

Cela a parfaitement fonctionné, je déconnais d'installer / réinstaller le nœud de l'autre et j'ai oublié que je n'avais pas nettoyé après moi.

@ tony-kerz J'obtenais cet avertissement quand j'avais un package.json assis dans mon répertoire racine Projects (par exemple Projects/my-package ). J'ai dû exécuter accidentellement yarn dans ce répertoire une fois, mais la suppression de ce fichier a fait disparaître les avertissements

juste des informations supplémentaires, j'ai également supprimé package.json et yarn.lock des répertoires parents, les répertoires n'étaient pas des projets, je ne sais pas comment ils y apparaissent)))

J'ai rencontré le même problème ie
$ fil babel
fil run v1.21.1

Comment puis-je surmonter cela?

PS C:\Users\admin\Desktop\aulinhas\chat-react> create-react-app front

Creating a new React app in C:\Users\admin\Desktop\aulinhas\chat-react\front.

warning ..\..\..\..\package.json: No license field
Installing packages. This might take a couple of minutes.
Installing react, react-dom, and react-scripts with cra-template...

yarn add v1.22.4
warning ..\..\..\..\package.json: No license field 

...

:(

@iTonyYo Merci, ça marche.

Cette page vous a été utile?
0 / 5 - 0 notes