Installer des MNP dans le répertoire de distribution de nodejs paquet (Ubuntu)
J'aimerais utiliser la distribution Node.js les paquets (ou le chris-lea ppa pour les versions plus récentes), mais d'installer MNP à mon répertoire home.
Cela peut sembler difficile, mais c'est une jolie idiomatiques moyen pour polyglotte/github-aide les développeurs à la langue d'installation du runtime/bibliothèque environnements sous Linux: la distribution des packages pour le moment de l'exécution, de la 3e partie des bibliothèques dans l'environnement de l'utilisateur (voir virtualenv, RVM - RVM aussi construire des Rubis pour vous si vous le souhaitez). Si nécessaire, je bâtirai nœud local, mais c'est un pain PITA depuis le Nœud est en train de devenir un accessoire de développement exigence pour beaucoup de projets.
- Voir aussi stackoverflow.com/questions/19352976/...
Vous devez vous connecter pour publier un commentaire.
NPM va installer les packages locaux dans vos projets déjà, mais je tiens à garder l'appareil loin de mon exploitation du système de fichiers. Voici comment je suggère de compartimenter Nodejs paquets:
Installer Nodejs et NPM via le chris-lea PPA. Puis j'ai mis en place un package racine dans mon répertoire personnel pour tenir le Nœud "global" packages:
Jeu de MNP à utiliser ce répertoire mondial de package installe:
Configurer votre CHEMIN et MANPATH pour afficher les commandes dans votre $NPM_PACKAGES préfixe par adjonction, à la votre .zshrc/.bashrc:
Maintenant, quand vous faites une
npm install -g
, NPM va installer les bibliothèques~/.npm-packages/lib/node_modules
, et un lien exécutable outils en~/.npm-packages/bin
, qui est dans votrePATH
.Suffit d'utiliser
npm install -g
comme vous le feriez normalement:node
est installé maisnpm
est pas le cas, exécutez le programme d'installation dans la réponse ci-dessus, puisnpm_config_prefix=$NPM_PACKAGES curl -L https://npmjs.org/install.sh | sh
pour obtenirnpm
lui-même installé dans votre répertoire home.npm config set prefix $NPM_PACKAGES
$HOME/.local
au lieu du préfixe. Elle est utilisée couramment dans le dossier maintenant-a-jours, par d'autres logiciels pour stocker des fichiers locaux.echo 'prefix = ${NPM_PACKAGES}' >> ~/.npmrc
, le chemin n'est pas codé en dur dans.npmrc
, mais npm va le lire à partir de la variable d'environnement chaque fois que mnp s'exécute (remarque j'ai changé"
à'
afin d'éviter que le shell qui exécute l'écho de l'expansion de la variable, et j'ai ajouté{}
autour de la variable, puisque c'est la syntaxe utilisée dans les.npmrc
. Pour faire ce travail, j'ai eu à changer.bashrc
à lire:export NPM_PACKAGES="$HOME/.npm-packages"
. L'ajout de laexport
met à la disposition des mnp. Non, je pense que vous devez ajouterexport
pour les autres variables ainsi.De Jake réponse a été publiée en 2012 et tandis que l'utile il fait référence à Chris de Lea Node.js PPAs qui ne sont plus à jour depuis le mois de mars 2015.
Voici les étapes que j'ai utiliser pour installer Node.js et npm dans mon répertoire home:
Installer Node.js avec nvm (pas de
sudo
requis):Maintenant, vous pouvez
install -g
sanssudo
et tout se passe dans~/.nvm/
Ou installer Node.js sans nvm (les instructions officielles):
Installer Node.js
Node.js v6 (actuel LTS en Mai 2017):
Node.js v7:
Changement mnp par défaut du répertoire local:
Également remplacer
.npm-global
par le répertoire de votre choix.Mise à jour de mnp et vérifier qu'il est bien installé dans votre
$HOME
répertoire:Maintenant, vous pouvez
install -g
sanssudo
et sans toucher à votre système de fichiers.La solution posté par Juste, Jake est grande. Toutefois, en raison d'un bug avec les mnp > 1.4.10, il peut ne pas fonctionner comme prévu. (Voir cette et cette)
Tandis que le bug est résolu, vous pouvez revenir à la ngp 1.4.10 en suivant cette procédure:
sudo npm install -g [email protected]
npm --version
)Parce que python ne fait déjà un excellent travail
virtualenv
, j'utilisenodeenv
. Par rapport ànvm
, vous pouvez créer plusieurs environnements pour le même nœud de version (par exemple, deux environnements pour le nœud0.10
mais avec différents ensembles de paquets).Le fichier lisez-moi est assez bonne:
https://github.com/ekalinin/nodeenv
J'ai utilisé @just-jake solution pendant un certain temps et a constaté que nvm est plus facile à installer.
C'est aussi beaucoup de solution puissante qui permet d'installer et d'utiliser différentes versions de
nodejs
.Sur Ubuntu 14.04 ou 16.04:
Installer les packages requis pour la construction de
nodejs
:Installer nvm:
En cas une version plus récente de nvm sera disponible, vous pouvez trouver réelle de l'installation de commande sur nvm site.
nvm
programme d'installation va ajouter un script bootstrap pour~/.bashrc
, de sorte que vous besoin de rouvrir le terminal pour l'exécuter, ou de faire:Maintenant, vous pouvez installer n'importe quel
nodejs
version vous le souhaitez, passer entre eux, etc.Utilisation
nvm ls-remote
de la liste disponiblenodejs
versions.Pour installer, par exemple,
nodejs
v4.2.4 faire:De s'étendre sur la réponse fournie par Seulement Jake et user1533401: je suis pas déclasser comme je l'ai utiliser l'hébergement mutualisé et le nœud est installé dans un répertoire système. C'est aussi pourquoi j'ai changer le répertoire où mnp installe mondial des scripts, si je le veux pour le faire. Pour ceux dans le même bateau, voici une autre solution temporaire que j'ai trouvé fonctionne:
npm install -g --prefix=$(npm config get prefix) <package>
Le bug, c'est que la ngp ne pas lire vos par utilisateur du fichier de config, mais en précisant à chaque fois que vous installez un script global des correctifs. Trouvé ici.
Comme indiqué déjà ici et ici