- mode déconnecté quand le serveur est isolé d'Internet
- répertoire de travail spécifique quand on a par exemple des problématiques d'antivirus ou lorsque plusieurs comptes utilisateurs peuvent utiliser npm
- connexion internet passant par un proxy
- ...
Il existe des solutions mais elles ne sont pas toujours intuitives. J'ai déjà donné des pistes dans des articles de ce blog
- NodeJS comment créer un dépôt privé et monter un cache de npmjs.org
- Bower derrière un proxy d'entreprise. Les variables d'environnement définies globalement pour Bower sont aussi prises en compte par npm
Personnaliser le répertoire de travail de npm
Je vais continuer en expliquant comment surcharger la configuration par défaut des répertoires de travail de npm. Par défaut sous Windows (c'est mon cas dans mon contexte professionnel), ils sont spécifiques à un utilisateur, et ces répertoires se retrouvent dans les dossiers locaux (C:\Documents and Settings\ehret_g\Application Data\npm)
J'ai essayé pas mal de choses qui marchaient plus ou moins. Aujourd'hui ma méthode n'est pas la plus propre, mais elle a le mérite de fonctionner. Admettons que je souhaite travailler dans le répertoire d:\data\npm. Je vais créer l'arborescence suivante
d:\data\npm d:\data\npm\local d:\data\npm\local\etc d:\data\npm\cache
Cette arborescence a pour but de remplacer
C:\Documents and Settings\ehret_g\Application Data\npm C:\Documents and Settings\ehret_g\Application Data\npm\etc C:\Documents and Settings\ehret_g\Application Data\npm-cache
Lancez la commande ci dessous qui permettra d'ouvrir le fichier de configuration global de npm (-g signifie global. Si vous omettez cette option vous ouvrirez la configuration locale)
npm config -g edit
Que faire en cas d'erreur
En fonction de votre installation vous pouvez avoir le message d'erreur suivant
Cette erreur est liée au fait que le fichier npmrc peut être absent du répertoire C:\Documents and Settings\ehret_g\Application Data\npm\etc. Si c'est le cas vous pouvez aller dans le répertoire d'installation de npm (c:\Program Files\nodejs\node_modules\npm) et ouvrir le fichier npmrc
Ce fichier contient par défaut
prefix=${APPDATA}\npm
Remplacer la valeur par
prefix=D:\data\npm\local
Vous devez pouvoir maintenant, lancer un
npm config -g edit
Si ce n'est toujours pas le cas créez un fichier vide nommé npmrc dans d:\data\npm\local\etc
Surcharger la configuration par défaut
Le fichier ouvert contient tout le paramétrage par défaut
Nous allons surcharger plusieurs paramètres pour spécifier les chemins que nous venons de définir
cache=d:\data\npm\cache globalconfig=d:\data\npm\local\etc\npmrc init-module=d:\data\npm\local\etc\.npm-init.js userconfig=d:\data\npm\local\.npmrc globalignorefile=d:\data\npm\local\etc\npmignore prefix=d:\data\npm
Ce qui donnera
Voila maintenant vous retrouverez toutes les librairies chargées dans le répertoire d:\data\npm\cache
Nettoyage
Vous pouvez supprimer les anciens répertoires
C:\Documents and Settings\ehret_g\Application Data\npm C:\Documents and Settings\ehret_g\Application Data\npm-cacheBien évidemment sous certaines versions de Windows nous pouvons être confronté à des problèmes de longueur de chemin. La suppression devra être faite via une fenêtre de commande
rd /S /Q C:\Documents and Settings\ehret_g\Application Data\npm
Variable d'environnement
Les différents modules chargés par npm seront placés dans le répertoire de travail défini par
Les différents modules chargés par npm seront placés dans le répertoire de travail défini par
prefix=d:\data\npm
Vous devez déclarer une variable d'environnement pointant vers ce répertoire pour pouvoir exécuter tous vos modules nodes favoris : Yeoman, Bower et Grunt
Aucun commentaire:
Enregistrer un commentaire
Remarque : Seul un membre de ce blog est autorisé à enregistrer un commentaire.