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