Le fichier package.json est-il censé être édité manuellement ? Un programme comme npm ne pourrait-il pas simplement regarder les fichiers, voir les déclarations "require", puis s'en servir pour mettre les entrées nécessaires dans le fichier package.json ? Existe-t-il des programmes de ce type ?
Réponses
Trop de publicités?Le fichier package.json est utilisé par npm pour en savoir plus sur votre projet node.js.
Utilice npm init
pour générer les fichiers package.json à votre place !
Il est fourni avec npm. Lisez sa documentation ici : https://docs.npmjs.com/cli/init
Il existe également un outil officiel que vous pouvez utiliser pour générer ce fichier de manière programmatique : https://github.com/npm/init-package-json
Tout d'abord, exécutez
npm init
...va vous poser quelques questions ( lisez d'abord ceci ) sur votre projet/package et génère ensuite un fichier package.json pour vous.
Ensuite, une fois que vous avez un fichier package.json, utilisez
npm install <pkg> --save
ou
npm install <pkg> --save-dev
...d'installer une dépendance et de l'ajouter automatiquement à vos package.json
's dependencies
liste.
(Remarque : vous devrez peut-être modifier manuellement les plages de versions pour vos dépendances).
J'ai juste écrit un simple script pour collecter les dépendances dans ./node_modules. Cela répond à mes besoins pour le moment. Cela peut aider d'autres personnes, je le poste ici.
var fs = require("fs");
function main() {
fs.readdir("./node_modules", function (err, dirs) {
if (err) {
console.log(err);
return;
}
dirs.forEach(function(dir){
if (dir.indexOf(".") !== 0) {
var packageJsonFile = "./node_modules/" + dir + "/package.json";
if (fs.existsSync(packageJsonFile)) {
fs.readFile(packageJsonFile, function (err, data) {
if (err) {
console.log(err);
}
else {
var json = JSON.parse(data);
console.log('"'+json.name+'": "' + json.version + '",');
}
});
}
}
});
});
}
main();
Dans mon cas, le script ci-dessus produit des résultats :
"colors": "0.6.0-1",
"commander": "1.0.5",
"htmlparser": "1.7.6",
"optimist": "0.3.5",
"progress": "0.1.0",
"request": "2.11.4",
"soupselect": "0.2.0", // Remember: remove the comma character in the last line.
Maintenant, vous pouvez les copier et les coller. Amuse-toi bien !
npm init
pour créer le fichier package.json et ensuite vous utilisez
ls node_modules/ | xargs npm install --save
pour remplir les modules que vous avez dans le dossier node_modules.
Editer : @paldepind a fait remarquer que la deuxième commande est redondante car npm init
ajoute maintenant automatiquement ce que vous avez dans votre dossier node_modules/. Je ne sais pas si cela a toujours été le cas, mais maintenant au moins, cela fonctionne sans la deuxième commande.
Ligne de commande :
npm init
créera le fichier package.json
Pour installer, mettre à jour et désinstaller les paquets sous les dépendances dans le fichier package.json :
Ligne de commande :
npm install <pkg>@* --save
ajoutera automatiquement la dernière version du paquet sous les dépendances dans le fichier package.json.
EX :
npm install node-markdown@* --save
Ligne de commande :
npm install <pkg> --save
ajoutera aussi automatiquement la dernière version du paquet sous les dépendances dans le fichier package.json.
si vous avez besoin d'une version spécifique pour un paquet, utilisez ceci Ligne de commande :
npm install <pkg>@<version> --save
ajoutera automatiquement la version spécifique du paquet sous les dépendances dans le fichier package.json
EX :
npm install koa-views@1.0.0 --save
si vous avez besoin d'une gamme spécifique de versions pour un paquet, utilisez ceci Ligne de commande :
npm install <pkg>@<version range>
ajoutera automatiquement dans le fichier package.json la dernière version du paquet comprise dans l'intervalle des versions sous dépendances.
EX :
npm install koa-views@">1.0.0 <1.2.0" --save
Pour plus de détails sur la façon d'écrire la version du paquet npm Doc
Ligne de commande :
npm update --save
mettra à jour les paquets dans le fichier package.json et ajoutera automatiquement la version mise à jour pour tous les paquets sous dépendances dans le fichier package.json
Ligne de commande :
npm uninstall <pkg> --save
va automatiquement supprimer le paquet des dépendances dans le fichier package.json et supprimer le paquet du dossier node_module