Qu'est-ce que je fais de mal lorsque je configure mes packages ? Y a-t-il un moyen d'accélérer cela ?
-
packages.json :
{ "name": "testing node", "version": "0.0.0", "description": "", "main": "app.config.js", "dependencies": { "babel-core": "^6.17.0", "babel-loader": "^6.2.0", "babel-plugin-add-module-exports": "^0.1.2", "babel-plugin-react-html-attrs": "^2.0.0", "babel-plugin-transform-class-properties": "^6.3.13", "babel-plugin-transform-decorators-legacy": "^1.3.4", "babel-preset-es2015": "^6.3.13", "babel-preset-react": "^6.3.13", "babel-preset-stage-0": "^6.3.13", "react": "^0.14.6", "react-dom": "^0.14.6", "webpack": "^1.12.9", "webpack-dev-server": "^1.14.1", "mysql": "*" }, "devDependencies": {}, "scripts": { "dev": "webpack-dev-server --content-base src --inline --hot", "test": "echo \"Error: no test specified\" && exit 1" }, "author": "", "license": "ISC" }
Quand je suis dans le dossier si je lance
npm install
Je reçois le suivant qui peut prendre des heures pour se configurer complètement :
Ce n'est pas un problème de calcul ou de matériel général. Les vitesses comparatives sont ci-dessous :
-
- Exécutez
haversine
pour calculer toutes les distances sur plus de 1 million d'enregistrements dans une table mysql non indexée prend significativement moins de temps. (calculatoire)
- Exécutez
-
- Téléchargez une installation complète de Linux (image ISO DVD de double couche) en significativement moins de temps. (largeur de bande)
Je soupçonne qu'il y a quelque chose de mal avec mon packages.json
ou la commande que j'exécute npm install
. D'après l'image, il semble y avoir de nombreuses tentatives pour récupérer le même fichier. Il est possible qu'il existe un moyen de forcer npm
à récupérer à partir d'un miroir plus stable ? Peut-être que la sélection automatique du miroir par défaut est défectueuse ? Juste quelques suggestions -- je ne connais pas la cause spécifique c'est pourquoi je demande.
Ce problème se produit également sur mes serveurs Linode, Digital Ocean et VULTR -- donc je soupçonne que c'est quelque chose de spécifique à npm
, à la façon dont je l'utilise (quelque chose manque), ou à mon packages.json
.
0 votes
Y a-t-il une sortie plus significative lorsque vous exécutez
npm --loglevel=silly install
?0 votes
@LINKIWI - je vais essayer ça -- donnez-moi un peu de temps pour le faire tourner.
13 votes
@hardillb - pas vraiment un problème avec ma vitesse Internet ou ma machine. Peut télécharger une installation complète de linux plus rapidement que
npm install
prend pour obtenir quelques scripts -- sur le même ordinateur. En comparaison, peut exécuter haversine sur un ensemble d'enregistrements non indexé dans mysql sur plus de 1 million d'enregistrements plus rapidement.0 votes
Pour ce que ça vaut, j'ai eu des problèmes similaires en essayant d'installer node depuis derrière un certain pare-feu.
0 votes
En attendant simplement la commande
npm --loglevel=silly install
- je la collerai sur termbin ou quelque chose. Cela semble juste super lent - il doit y avoir un moyen plus rapide d'obtenir ces packages. Une fois l'installation terminée, il y a généralement pas moins de 30 000 fichiers. Est-ce quenpm
récupère chaque fichier un par un plutôt que de récupérer une archive du package ??0 votes
@TimGrant - Aucun pare-feu sur cette machine (et sur certaines de mes boîtes distantes 'de test' que j'ai créées juste pour tester si ce problème était local ou constant). J'ai remarqué qu'il y a une question ouverte non assignée ici. Je ne suis pas sûr si c'est lié, mais il semble que personne là-bas n'ait non plus de solution. (pas faute d'avoir essayé)
0 votes
Quelle version de npm et de nodejs utilisez-vous et les avez-vous compilées vous-même?
0 votes
@JariJokinen - nodejs v0.10.5, et npm v1.3.0. Je ne les ai pas compilés, je suis sous Ubuntu 14.04.5 LTS
0 votes
Hmm d'accord, peut-être essayer de désinstaller complètement avant de réinstaller? (stackoverflow.com/questions/11177954/…) Le fil que vous avez posté comprend des anecdotes de personnes qui ont supprimé ceci ou cela et ont réussi.
1 votes
"Je soupçonne qu'il y a quelque chose qui ne va pas avec mon packages.json ou la commande que j'exécute npm install" - Je ne pense pas. J'ai installé des modules ici en moins de 1 minute avec votre
package.json
avec npm v3.5.2 et node v4.2.6. Je vous suggère de mettre à jour node et npm.10 votes
C'est une version très, très ancienne de npm. Je ne serais pas surpris si c'était un bug dans npm qui a été corrigé dans une version ultérieure. Pouvez-vous mettre à jour votre npm vers la dernière version?
sudo npm install -g npm@latest
0 votes
D'accord avec @LINKIWI, la version 1.3.0 n'avait même pas introduit de dépendances aplaties sur la version 3 qui résolvait beaucoup de problèmes gênants...
0 votes
@LINKIWI - en attente de sa finition, puis j'essaierai. C'était la version disponible via
apt
.0 votes
@AndreFigueiredo - cela semble être une question de version alors. Je vais tester la méthode de mise à jour de LINKIWI après cela. Je ne sais pas pourquoi le dépôt de
npm
est une version aussi obsolète :S1 votes
En général, ne vous fiez pas aux gestionnaires de paquets comme apt pour maintenir des logiciels à jour. Je recommande vivement de purger le combo node/npm que vous avez installé à partir de apt et de suivre les instructions sur nodejs.org pour installer la dernière version.
0 votes
@AndreFigueiredo - a purgé nodejs et npm, puis a installé en utilisant la version actuelle de nvm -- a installé nodejs 6.4, ce qui a installé npm 3.10.3. Semblait fonctionner beaucoup plus rapidement environ 2 minutes.
0 votes
@LINKIWI - cette commande n'a pas récupéré une version plus récente. J'ai vidé npm et nodejs et installé en utilisant nvm. npm est maintenant beaucoup plus récent et fonctionne beaucoup plus rapidement. cela prend toujours du temps, mais c'est raisonnable pour une installation fraîche.
0 votes
Hmmm J'ai le même problème pour être honnête et je suis sur une connexion rapide. Quelque chose ne va pas avec leur serveur. J'ai essayé avec mon LTE et sur ma connexion wifi super rapide.
0 votes
Merci à tous pour votre aide. Il s'agissait certainement d'un problème causé par une version sévèrement obsolète de
nodejs
/npm
en raison de mon attente d'une version relativement récente de la part de mes différents gestionnaires de paquets Linux. Pour une raison quelconque, ils ont omis de maintenir ce package à jour (ou relativement à jour) même s'il s'agit de l'une (si ce n'est pas LA) des technologies web les plus dominantes aujourd'hui. Pour ceux qui rencontrent un problème similaire, j'ai posté une solution car je n'ai pas pu en trouver une spécifique à ce sujet, sur ce qu'il faut vérifier lorsquenpm
est lent et comment le corriger.0 votes
Il existe le package
why-npm-i-so-long
qui indique la taille des dépendances du projet.