paquet npm WARN.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 range-parser@0.0.4 No repository field.
npm WARN package.json fresh@0.1.0 No repository field.
npm WARN package.json methods@0.0.1 No repository field.
npm WARN package.json methods@0.0.1 No readme data.
npm WARN package.json cookie-signature@1.0.1 No repository field.
npm WARN package.json send@0.1.0 No repository field.
npm WARN package.json pause@0.0.1 No repository field.
npm WARN package.json bytes@0.2.0 No repository field.
npm WARN package.json github-url-from-git@1.1.1 No repository field.
npm WARN package.json assert-plus@0.1.2 No repository field.
npm WARN package.json ctype@0.5.2 No repository field.
Je suis nouveau sur Node.js et Express.js. Pourquoi ai-je les avertissements ci-dessus? Devrais-je m'inquiéter?
10 réponses
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 un auteur de 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 repository et voir le bogue enregistré pour plus d'informations détail.
en Outre, comme initialement indiqué par @dan_nl, vous pouvez définir private clé dans votre package.json.
Cela vous empêchera non seulement d'exécuter accidentellement npm publish dans votre application, mais empêchera également NPM d'imprimer des avertissements concernant les problèmes package.json.
{
"name": "my-super-amazing-app",
"version": "1.0.0",
"private": true
}
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
}
Comme dan_nl l'a déclaré, Vous pouvez ajouter un faux dépôt privé dans le 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 peut ne pas fonctionner. Choisissez l'option suivante.
Mieux encore: définissez le drapeau private directement. De cette façon, npm ne demande pas non plus de fichier README:
{
"name": ...,
"description": ...,
"version": ...,
"private": true
}
Si vous obtenez ceci de votre propre package.json, Ajoutez simplement le Champ repository. (utilisez le lien vers votre référentiel):
"repository" : {
"type" : "git",
"url" : "https://github.com/npm/npm.git"
}
Avez-vous couru npm init? Cette commande vous parcourt tout...
En mot Simple - paquet.json de votre projet n'a pas la propriété du référentiel vous devez avoir à l'ajouter,
Et vous devez ajouter un référentiel dans votre package.json comme ci-dessous
Et laissez-moi vous expliquer selon votre scénario
Vous devez ajouter un champ de référentiel comme ci-dessous
"repository" : {
"type" : "git",
"url" : "http://github.com/npm/express.git"
}
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,
Ça a marché pour moi.
En ajoutant private, vous n'avez pas besoin de lier à un repo.
Cela vous aidera tous à trouver vos propres détails corrects utilisez
npm ls dist-tag
Cela affichera alors les informations correctes afin que vous ne deviniez pas l'emplacement du fichier de version etc
Profitez :)
Oui, vous pouvez probablement en recréer un en incluant -f à la fin de votre commande
Pour éviter les avertissements comme:
npm WARN project.com@1.0.0 No repository field.
Vous devez définir le référentiel dans votre package de projet.json.
Dans le cas où vous développez sans publication dans le référentiel, vous pouvez définir "private": true dans le package.json
Exemple:
{
"name": "test.loc",
"version": "1.0.0",
"private": true,
...
"license": "ISC"
}
MNP de la documentation à ce sujet: https://docs.npmjs.com/files/package.json
