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?
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
}
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 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
}
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"
}
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
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"
}
Avez-vous exécuté npm init
? Cette commande vous traverse tout ...
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.
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
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 :)
Oui, vous pouvez probablement en recréer un en incluant -f
à la fin de votre commande.