web-dev-qa-db-fra.com

npm WARN package.json: aucun champ de référentiel

J'ai installé Express.js avec la commande suivante:

Sudo npm install -g express

Je reçois les avertissements suivants:

npm WARN package.json [email protected] No repository field.
npm WARN package.json [email protected] No repository field.
npm WARN package.json [email protected] No repository field.
npm WARN package.json [email protected] No readme data.
npm WARN package.json [email protected] No repository field.
npm WARN package.json [email protected] No repository field.
npm WARN package.json [email protected] No repository field.
npm WARN package.json [email protected] No repository field.
npm WARN package.json [email protected] No repository field.
npm WARN package.json [email protected] No repository field.
npm WARN package.json [email protected] No repository field.

Je suis nouveau sur Node.js et Express.js. Pourquoi ai-je les avertissements ci-dessus? Devrais-je m'inquiéter?

748
JR Galia

C'est juste une vérification à partir de NPM v1.2.20, ils signalent cela comme un avertissement.

Cependant, ne vous inquiétez pas, il y a sooooooo beaucoup de paquets qui n'ont toujours pas le champ repository dans leur package.json. Le champ est utilisé à des fins d'information.

Dans le cas où vous êtes l'auteur d'un paquet, mettez le repository dans votre package.json, comme ceci:

"repository": {
  "type": "git",
  "url": "git://github.com/username/repository.git"
}

En savoir plus sur le champ repository et consulter le bogue enregistré pour plus de détails.


En outre, comme indiqué à l'origine par @dan_nl , vous pouvez définir la clé private dans votre package.json.
Cela vous évitera non seulement d’exécuter accidentellement npm publish dans votre application, mais également d’empêcher NPM d’imprimer des avertissements concernant les problèmes de package.json.

{
  "name": "my-super-amazing-app",
  "version": "1.0.0",
  "private": true
}
1193
gustavohenke

vous pouvez également marquer l’application comme privée si vous ne prévoyez pas de la placer dans un référentiel réel.

{
  "name": "my-application",
  "version": "0.0.1",
  "private": true
}
374
dan_nl

Comme indiqué par dan_nl, vous pouvez ajouter un faux référentiel privé dans package.json. Vous n'avez même pas besoin de nom et de version pour cela:

{
  ...,
  "repository": {
    "private": true
  }
}

Mise à jour: cette fonctionnalité n'est pas documentée et risque de ne pas fonctionner. Choisissez l'option suivante.

Mieux encore: Placez le drapeau private directement. De cette façon, npm ne demande pas de fichier README:

{
  "name": ...,
  "description": ...,
  "version": ...,
  "private": true
}
48
wortwart

Si vous obtenez cela de votre propre package.json, ajoutez-y simplement le champ repository. (utilisez le lien vers votre référentiel actuel):

"repository" : { 
   "type" : "git",
   "url" : "https://github.com/npm/npm.git"
 }
41
Brendan Nee

Dans Simple Word - le package.json de votre projet n'a pas la propriété de référentiel que vous devez avoir pour l'ajouter,

et vous devez ajouter un référentiel dans votre package.json comme ci-dessous

enter image description here

et laissez-moi vous expliquer selon votre scénario

vous devez avoir à ajouter un champ de référentiel comme ci-dessous

  "repository" : {     
     "type" : "git",
      "url" : "http://github.com/npm/express.git" 
   }
8
ngCourse

Avez-vous exécuté npm init? Cette commande vous traverse tout ...

8
achoukah

Si vous ne souhaitez pas spécifier de référentiel, vous pouvez ajouter les lignes suivantes au fichier package.json:

"description":"",
"version":"0.0.1",
"private":true,

Cela a fonctionné pour moi.
En ajoutant private, vous n’avez pas besoin de vous lier à un dépôt.

6
Rubin bhandari

Pour éviter les avertissements tels que:

npm WARN [email protected] No repository field.

Vous devez définir un référentiel dans votre projet package.json. Si vous développez sans publier dans le référentiel, vous pouvez définir "private": true dans package.json.

Exemple:

{
  "name": "test.loc",
  "version": "1.0.0",
  "private": true,
  ...
  "license": "ISC"
}

Documentation NPM à ce sujet: https://docs.npmjs.com/files/package.json

5
Alex

cela vous aidera à trouver vos propres informations correctes

npm ls dist-tag

cela montrera alors les informations correctes pour que vous ne deviniez pas l'emplacement de fichier de version, etc.

prendre plaisir :)

4
Ian Croasdell

Oui, vous pouvez probablement en recréer un en incluant -f à la fin de votre commande.

2
Jsalim