Comment utiliser npm avec node.exe?

108

J'ai téléchargé Windows Binary (.exe) de nodejs depuis la page principale .

Comment puis-je installer et utiliser npm(Node package manager)?

TN.
la source
Le binaire Windows est 0.5.x, qui est la version instable de node.js. Je recommande de ne pas l'exécuter en production, mais il est utilisable pour le développement. Vous voudrez peut-être attendre 0.6 (bientôt!) Avant d'exécuter node.js dans Windows en production.
Raynos
5
Si vous trouvez cette question via google, Node.js pour Windows est fourni avec npm (note: il s'agit d'un exécutable de script passthrough, pas d'un véritable exécutable).
Mike 'Pomax' Kamermans

Réponses:

58

Le programme d'installation Windows actuel de nodejs.org à partir de la v0.6.11 (2012-02-20) installera NPM avec NodeJS.

REMARQUES:

  • À ce stade, la version 64 bits est votre meilleur pari
  • Le chemin d'installation pour le nœud 32 bits est "Program Files (x86)" dans les fenêtres 64 bits.
  • Vous devrez peut-être également ajouter des guillemets à l'instruction de chemin dans les variables d'environnement, cela ne semble être que dans certains cas que j'ai vus.
  • Sous Windows, le chemin d'installation global se trouve en fait dans le répertoire de profil de votre utilisateur
    • %USERPROFILE%\AppData\Roaming\npm
    • %USERPROFILE%\AppData\Roaming\npm-cache
    • AVERTISSEMENT: si vous effectuez des événements chronométrés ou toute autre automatisation en tant qu'utilisateur différent, assurez-vous de l'exécuter en npm installtant que cet utilisateur. Certains modules / utilitaires doivent être installés globalement.
    • BOGUES DE L'INSTALLATEUR: Vous devrez peut-être créer ces répertoires ou ajouter vous-même le ...\npmrépertoire au chemin de vos utilisateurs.

Pour modifier l'emplacement «global» de tous les utilisateurs vers un emplacement global partagé plus approprié %ALLUSERSPROFILE%\(npm|npm-cache)(faites-le en tant qu'administrateur):

  • créer un [NODE_INSTALL_PATH]\etc\répertoire
    • ceci est nécessaire avant d'essayer des npm config --global ...actions
  • créer le (s) emplacement (s) global (s) pour les modules npm
    • C:\ProgramData\npm-cache - les modules npm iront ici
    • C:\ProgramData\npm - les scripts binaires pour les modules installés globalement iront ici
    • C:\ProgramData\npm\node_modules - les modules installés globalement iront ici
    • définir les autorisations de manière appropriée
      • administrateurs: modifier
      • utilisateurs authentifiés: lecture / exécution
  • Définir les paramètres de configuration globale (invite de commande administrateur)
    • npm config --global set prefix "C:\ProgramData\npm"
    • npm config --global set cache "C:\ProgramData\npm-cache"
  • Ajouter C:\ProgramData\npmà la variable d'environnement Path de votre système

Si vous souhaitez remplacer l'emplacement "global" de votre utilisateur par %LOCALAPPDATA%\(npm|npm-cache)chemin:

  • Créez les répertoires nécessaires
    • C:\Users\YOURNAME\AppData\Local\npm-cache - les modules npm iront ici
    • C:\Users\YOURNAME\AppData\Local\npm - les scripts binaires pour les modules installés iront ici
    • C:\Users\YOURNAME\AppData\Local\npm\node_modules - les modules installés globalement iront ici
  • Configurer npm
    • npm config set prefix "C:\Users\YOURNAME\AppData\Local\npm"
    • npm config set cache "C:\Users\YOURNAME\AppData\Local\npm-cache"
  • Ajoutez le nouveau chemin npm à celui de votre environnement PATH.
    • setx PATH "%PATH%;C:\Users\YOURNAME\AppData\Local\npm"

Pour les débutants, certains des modules npm que j'ai le plus utilisés sont les suivants.

  • axios - pour les publications / get http plus complexes
  • isomorphic-fetch - pour les requêtes post / get http (s)
  • node-mailer - client smtp
  • mssql - interface et bibliothèque de pilotes pour interroger MS SQL Server (encapsulation fastidieuse )

Options JS plus avancées ...

Pour les tests, j'utilise les outils suivants ...

  • mocha - cadre de test
  • chai - bibliothèque d'assertions, j'aime chai.expect
  • sinon - espions et talons et cales
  • sinon-chai - étendre chai avec les outils d'assertion de sinon
  • babel-istanbul - rapports de couverture
  • plaisanterie - tests parallèles, assertions, moqueries, rapports de couverture dans un seul outil
  • babel-plugin-rewire - légèrement plus facile pour certaines conditions moqueuses vs plaisanterie

Outillage Web.

  • webpack - module bundler, modules de type nœud de package pour l'utilisation du navigateur
  • babel - convertissez la syntaxe JS moderne (ES2015 +) pour votre environnement de déploiement.

Si vous le construisez ...

  • shelljs - utilitaires shell pour les scripts de nœuds ,. J'utilisais gulp / grunt, mais ces jours-ci, j'aurai un scriptsrépertoire référencé dans les package.json scripts via npm. Vous pouvez utiliser les outils gulp dans des scripts simples.
Tracker1
la source
Depuis le 25 février, ce bogue semble être corrigé; Je peux exécuter npm à partir de% path% (soit cela, soit iisnode l'a corrigé pour moi)
Dan Davies Brackett
12
Pour utiliser NPM sous Windows, utilisez le Node.js Command Prompt. Essayer simplement d'exécuter à npmpartir de n'importe quelle autre ligne de commande ne fonctionnera pas.
Daniel AA Pelsmaeker
Bonne liste de modules pour les débutants. Au lieu d'utiliser simplement Tedious, utilisez node-mssql pour envelopper Tedious pour une API beaucoup plus facile.
Christiaan Westerbeek
J'ai dû créer manuellement le répertoire / dossier C: \ Users \ kevitt \ AppData \ Roaming \ npm juste maintenant avant de pouvoir installer mon premier package.
Kenny Evitt
@ DanielA.A.Pelsmaeker Je n'ai JAMAIS exécuté npm sur Windows avec l' invite de commande Node.js ; ne pas dire que ce n'est pas une méthode viable. Presque n'importe quel terminal ou shell fonctionnera si la personne qui l'utilise sait ce qu'elle fait! J'utilise des npmcommandes presque tous les jours; et BASH est mon choix si je suis bloqué en utilisant Windows; mais, Windows natif CMD et PowerShell fonctionnent, BASH, WSL (BASH, ZSH, Fish) ... ils fonctionnent tous très bien. "Le simple fait d'essayer d'exécuter npm à partir d'une autre ligne de commande ne fonctionnera pas. " Cette déclaration revient à dire que vous devez utiliser un VIM pour écrire du JavaScript et que tout autre IDE ne fonctionnera pas. #facepalm
Rockin4Life33
43

Lorsque Node.js n'est pas installé à l'aide du programme d' installation msi , npm doit être configuré manuellement.

configuration de npm

Tout d'abord, disons que nous avons le fichier node.exe situé dans le dossier c:\nodejs. Maintenant, pour configurer npm -

  1. Téléchargez la dernière version de npm depuis GitHub ( https://github.com/npm/npm/releases )
  2. Créer des dossiers c:\nodejs\node_modulesetc:\nodejs\node_modules\npm
  3. Décompressez le fichier zip téléchargé dans le c:\nodejs\node_modules\npmdossier
  4. Copier les fichiers npm et npm.cmdc:\nodejs\node_modules\npm\bin dans le c:\nodejsdossier

Afin de tester npm , ouvrez le cmd.exerépertoire de travail de changement c:\nodejset tapez npm --version. Vous verrez la version de npm si elle est correctement configurée.

Une fois la configuration terminée, il peut être utilisé pour installer / désinstaller des packages localement ou globalement. Pour plus d'informations sur l'utilisation de npm, visitez https://docs.npmjs.com/ .

Comme étape finale, vous pouvez ajouter le chemin du dossier du nœud c:\nodejsà la pathvariable d'environnement afin que vous n'ayez pas à spécifier le chemin complet lors de l'exécution node.exeet npmà l'invite de commande.

Ashish Uttam
la source
A travaillé comme un charme, merci.
Mr Roshan Pawar
meilleure réponse pour l'instant. le mieux voté a eu un lien cassé.
Aaron
38

npm peut être téléchargé (sans installation) à partir d'ici:

http://nodejs.org/dist/npm/

https://github.com/npm/npm/releases

TN.
la source
9
Extrayez simplement l'archive dans le même dossier que node.exe, de sorte que npm.cmd soit au même niveau que node.exe.
Ezward
1
C'est un bon moyen d '"installer" le nœud et npm si vous ne disposez pas des privilèges d'administrateur. Une fois que vous avez à la fois NPM et noeud là, ajouter à votre chemin: set NODE=%USERPROFILE%\nodejset PATH=%PATH%;%NODE%vous êtes bon pour aller ...
djKianoosh
@djKianoosh, c'est un rond-point. Tout ce dont vous avez besoin est set path=your/folder/containing/node. Par exemple set path=%userprofile%\nodejs,. Alors appelez npmaprès ça, c'est tout. La commande set pathaffecte uniquement votre session cmd actuelle, pas globalement dans le registre, vous n'avez donc pas à l'annuler.
Pacerier
@Ezward, vous n'en avez pas besoin dans le même dossier. Voir le commentaire ci-dessus.
Pacerier
c'est vrai @Pacerier. J'ai quelque chose de similaire scripté à exécuter lors de la connexion pour l'automatiser. Le principal problème dans une entreprise est le manque de droits d'administrateur et de proxies / pare-feu.
djKianoosh
11

Je viens d'installer la dernière version de node (0.6.12) dans Windows 7 en utilisant msi (node-v0.6.12.msi).

npm est déjà livré avec, pas besoin de l'inclure séparément.

J'étais confronté à un problème d'autorisation lors de l'exécution de npm (npm install mysql), à partir du chemin où résidaient mes nodejs, c'est-à-dire C: \ Program Files (x86) \ nodejs

Ensuite, j'ai suivi les étapes ci-dessous:

1) Ajouté C:\Program Files (x86)\nodejs\npmdans les variables d'environnement - Variable système Path.

2) est revenu uniquement C:\dans l'invite de commande et a donné la commande - npm install mysql- et le tour est joué! ça a marché..

J'espère que cela t'aides.

Prashant
la source
où télécharger ce msi? je ne le vois pas sur le site Web.
vee le
@vee, N'est-ce pas juste sur la page principale nodejs.org/download . Recherchez "msi".
Pacerier
7

J'exécute node.js sur Windows avec npm. L'astuce consiste simplement à utiliser cygwin. J'ai suivi le howto sous https://github.com/joyent/node/wiki/Building-node.js-on-Cygwin-(Windows) . Mais assurez-vous que vous utilisez la version 0.4.11 de nodejs ou npm échouera!

malte
la source
9
cygwin ne devrait jamais être la réponse. C'est la mauvaise façon de résoudre ces problèmes.
Troy Howard
Avec le nœud 0.6, vous pouvez facilement utiliser le nœud sous Windows, mais de nombreux modules de nœuds qui dépendent de binaires ne prennent pas en charge Windows et vous en revenez au point où vous avez besoin de quelque chose comme un environnement unix.
malte
1
En fait, @Troy Howard, vous n'avez pas autant à vous occuper de Windows si vous utilisez cygwin. Cela seul est un énorme avantage car il élimine la source de la plupart de ses problèmes.
JaneGoodall
1
@TroyHoward J'irais un peu plus loin et je dirais que Windows ne devrait jamais être la solution pour tout type de développement Web.
Noz
Un peu plus loin que votre étape de réplique, Windows Visual Studio et .NET conviennent parfaitement au développement Web, y compris PHP et Perl qui fonctionnent tous sur IIS.
Jules Bartow
4

Je viens d'installer Node.js v0.12.0 64 bits pour Windows 8.1 à partir d' ici . Il fait environ 8 Mo et comme il s'agit d'un MSI, il vous suffit de double-cliquer pour le lancer. Il configurera automatiquement les chemins de votre environnement, etc.

Ensuite, pour obtenir la ligne de commande, c'est juste [Win-Key]+[S]pour la recherche, puis entrez "node.js" comme phrase de recherche.

Choisissez l' Node.js Command Promptentrée PAS l' Node.jsentrée.

Les deux vous donneront une invite de commande, mais seul le premier fonctionnera réellement. npm est intégré à ce téléchargement, donc juste npm -whateverà l'invite.

rism
la source
Cela a résolu la question pour laquelle je suis venu ici - après avoir installé node.js sur Windows via le programme d'installation MSI, je ne pouvais toujours pas accéder à npm à partir de la ligne de commande, et l'exécution dans la fenêtre "node.js" a juste donné une erreur que je devais utilisez la ligne de commande. J'étais convaincu que je ne devrais pas avoir à ajouter des chemins manuellement - alors j'ai trouvé que je devais exécuter dans le shell de nœud spécial, comme indiqué par cette réponse. Merci.
Dan Nissenbaum
3

Utilisez un gestionnaire de packages Windows comme chocolaté. Installez d'abord chocolatey comme indiqué sur sa page d' accueil . Cela devrait être un jeu d'enfant

Ensuite, pour installer Node JS (Install), exécutez la commande suivante à partir de la ligne de commande ou de PowerShell:

C:> cinst nodejs.install

Christiaan Westerbeek
la source
Cela fonctionnait maintenant pour moi. Le chemin dans Windows 8.1 est correctement défini sur: C: \ Program Files \ nodejs. Mais je ne peux pas exécuter npm à moins de passer à ce chemin. Mais si j'ai exécuté l'invite de ligne cmd nodejs, il le définit pour qu'il fonctionne. Il configure C: \ Windows \ System32 \ cmd.exe / k "C: \ Program Files \ nodejs \ nodevars.bat" et s'exécute dans "C: \ Program Files \ nodejs \" Peut-être que c: \> cinst nodejs l'a fait que j'ai exécuté avant cinst nodejs.install. Je ne suis pas sûr. (pourquoi ne puis-je pas corriger un ancien commentaire?)
Patrik Lindström
Vous pouvez modifier vos propres commentaires après les avoir publiés, dans une fenêtre de 5 minutes. meta.stackexchange.com/questions/459/… . Il semble maintenant que vous puissiez au moins supprimer les deux premiers commentaires.
Christiaan Westerbeek
2

Voici un guide de @CTS_AE sur la façon d'utiliser NPM avec standalone node.exe: https://stackoverflow.com/a/31148216/228508

  1. Téléchargez le node.exe autonome à partir de nodejs.org
  2. Récupérez un zip de version NPM de github https://github.com/npm/npm/releases
  3. Créez un dossier nommé: node_modules dans le même dossier que node.exe
  4. Extrayez le zip NPM dans le dossier node_modules
  5. Renommez le dossier npm extrait en npm et supprimez tout contrôle de version, par exemple: npm-3.3.4 -> npm.
  6. Copiez npm.cmd du dossier / npm / bin / dans le dossier racine avec node.exe
lof
la source
0

Je viens d'installer Node.js pour la première fois et il inclut NPM, qui peut être exécuté à partir de la cmd Windows. Cependant, assurez-vous de l'exécuter en tant qu'administrateur. Faites un clic droit sur cmd et choisissez "Exécuter en tant qu'administrateur". Cela m'a permis d'appeler des commandes npm.

Sean
la source
-1

Recherchez tous les fichiers .npmrc de votre système.

Veuillez vérifier que le chemin que vous avez indiqué est correct. Sinon, supprimez le chemin incorrect.

Bala Venkat
la source