如何在node.exe中使用npm?


108

我已经从主页下载了nodejs的Windows Binary(.exe)。

如何安装和使用npm(Node Package Manager)?


Windows二进制文件是0.5.x,这是node.js的不稳定版本。我建议不要在生产中运行它,但是它可用于开发。在生产环境中的Windows中运行node.js之前,您可能需要等待0.6(很快!)。
雷诺斯2011年

5
如果您通过Google找到了这个问题,则Windows提供的Node.js随附了npm(注意:这是脚本传递可执行文件,不是真正的可执行文件)。
Mike'Pomax'Kamermans 2013年

Answers:


58

v0.6.11(2012-02-20)起,当前来自nodejs.org的 Windows安装程序将与NodeJS一起安装NPM。

笔记:

  • 此时,最好的选择是64位版本
  • 在64位窗口中,32位节点的安装路径是“ Program Files(x86)”。
  • 您可能还需要在环境变量中的路径语句中添加引号,这似乎只是在我所看到的某些情况下。
  • 在Windows中,全局安装路径实际上位于用户的配置文件目录中
    • %USERPROFILE%\AppData\Roaming\npm
    • %USERPROFILE%\AppData\Roaming\npm-cache
    • 警告:如果您以其他用户身份执行定时事件或其他自动化操作,请确保npm install以该用户身份运行。某些模块/实用程序应全局安装。
    • 安装程序错误:您可能必须自己创建这些目录或将...\npm目录添加到用户路径。

要将所有用户的“全局”位置更改为更合适的共享全局位置%ALLUSERSPROFILE%\(npm|npm-cache)(以管理员身份执行):

  • 创建一个[NODE_INSTALL_PATH]\etc\目录
    • 在尝试npm config --global ...操作之前这是必需的
  • 为npm模块创建全局(管理员)位置
    • C:\ProgramData\npm-cache -npm模块将在这里
    • C:\ProgramData\npm -全局安装模块的二进制脚本将在此处
    • C:\ProgramData\npm\node_modules -全局安装的模块将在此处
    • 适当设置权限
      • 管理员:修改
      • 经过身份验证的用户:读取/执行
  • 设置全局配置设置(管理员命令提示符)
    • npm config --global set prefix "C:\ProgramData\npm"
    • npm config --global set cache "C:\ProgramData\npm-cache"
  • 添加C:\ProgramData\npm到系统的Path环境变量

如果要将用户的“全局”位置改为%LOCALAPPDATA%\(npm|npm-cache)路径,请执行以下操作:

  • 创建必要的目录
    • C:\Users\YOURNAME\AppData\Local\npm-cache -npm模块将在这里
    • C:\Users\YOURNAME\AppData\Local\npm -已安装模块的二进制脚本将在此处
    • C:\Users\YOURNAME\AppData\Local\npm\node_modules -全局安装的模块将在此处
  • 配置npm
    • npm config set prefix "C:\Users\YOURNAME\AppData\Local\npm"
    • npm config set cache "C:\Users\YOURNAME\AppData\Local\npm-cache"
  • 将新的npm路径添加到您环境的PATH
    • setx PATH "%PATH%;C:\Users\YOURNAME\AppData\Local\npm"

对于初学者,我最常使用的一些npm模块如下。

更多高级JS选项...

为了进行测试,我提供了以下工具...

Web工具。

  • webpack-模块捆绑器,打包用于浏览器的节点样式模块
  • 巴别塔 -现代转换JS(ES2015 +)语法部署环境。

如果您建造它...

  • shelljs-节点脚本的shell实用程序。我曾经用过gulp / grunt,但是最近这几天会有一个scripts目录,该目录通过npm 在package.json 脚本中引用。您可以在普通脚本中使用gulp工具。

截至2月25日,该错误似乎已修复;我可以从%path%运行npm(该问题或iisnode都为我修复了)
Dan Davies Brackett

12
要在Windows上使用NPM,请使用Node.js Command Prompt。仅尝试npm从任何其他命令行运行将无法正常工作。
Daniel AA Pelsmaeker 2014年

适合初学者的模块清单。与其使用普通的Tedious,不如使用node-mssql来包装Tedious,以获得更简单的api。
Christiaan Westerbeek 2014年

在我可以安装第一个软件包之前,我不得不立即手动创建目录/文件夹C:\ Users \ kevitt \ AppData \ Roaming \ npm
肯尼·埃维特

@ DanielA.A.Pelsmaeker我都从来没有运行npm 在Windows上使用Node.js的命令提示符 ; 并不是说这不是可行的方法。如果使用它的人知道他们在做什么,那么几乎任何终端或外壳都可以使用!我npm几乎每天都使用命令。如果我使用Windows,BASH是我的选择;但是,Windows本机CMD和PowerShell可以运行,BASH,WSL(BASH,ZSH,Fish)...它们都可以正常工作。“ 仅仅试图从任何其他命令行运行npm都是行不通的。 ”那句话就像说您必须使用VIM编写JavaScript一样,其他任何IDE都行不通。#facepalm
Rockin4Life33 '19

43

Node.js的使用未安装MSI安装NPM需要手动地设置。

设置npm

首先,假设我们在文件夹中有一个node.exe文件c:\nodejs。现在设置NPM -

  1. 从GitHub 下载最新的npm版本(https://github.com/npm/npm/releases
  2. 创建文件夹c:\nodejs\node_modulesc:\nodejs\node_modules\npm
  3. 将下载的zip文件解压缩到文件c:\nodejs\node_modules\npm夹中
  4. npmnpm.cmd文件从复制c:\nodejs\node_modules\npm\binc:\nodejs文件夹

为了测试npm,请打开cmd.exe更改工作目录c:\nodejs并输入npm --version。如果正确设置,您将看到npm的版本。

设置完成后,即可用于本地或全局安装/卸载软件包。有关使用npm的更多信息,请访问https://docs.npmjs.com/

作为最后一步,您可以将节点的文件夹路径添加c:\nodejspath环境变量中,这样您就不必在运行时node.exenpm在命令提示符下指定完整路径。


像魅力一样工作,谢谢。
Roshan Pawar先生,2015年

现在最好的答案。得票最多的人链接断开。
亚伦

38

npm 可以从此处下载(无需安装):

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

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


9
只需将存档文件提取到与node.exe相同的文件夹中,以使npm.cmd与node.exe处于同一级别。
伊兹沃德2013年

1
如果您没有管理员权限,这是“安装”节点和npm的好方法。一旦你有两个新公共管理和节点出现,添加到您的路径: set NODE=%USERPROFILE%\nodejsPATH=%PATH%;%NODE%你去好...
djKianoosh

@djKianoosh,那有点回旋处。您所需要的就是set path=your/folder/containing/node。例如,set path=%userprofile%\nodejs。然后打电话npm,仅此而已。该命令set path仅影响您当前的cmd会话,而不会全局影响注册表,因此您不必撤消它。
Pacerier 2015年

@Ezward,您不需要在同一文件夹中。参见上面的评论。
Pacerier's 2015年

没错,@ Pacerier。我有类似的脚本可以在登录时运行以使其自动化。企业中的主要问题是缺少管理员权限和代理/防火墙。
djKianoosh 2015年

11

我刚刚使用msi(node-v0.6.12.msi)在Windows 7中安装了最新版本的节点(0.6.12)。

npm已经附带了,不需要单独包含。

我从我的nodejs所在的路径运行npm(npm安装mysql)时遇到权限问题,即 C:\ Program Files(x86)\ nodejs

然后我按照以下步骤操作:

1)C:\Program Files (x86)\nodejs\npm在环境变量中添加-路径系统变量。

2)仅C:\在命令提示符下返回并给出命令-- npm install mysql瞧!有效..

希望这可以帮助。


哪里可以下载该msi?我在网站上看不到。
vee 2014年

@vee,不是在主页nodejs.org/download正确。搜索“ msi”。
Pacerier

7

我在Windows上使用npm运行node.js。诀窍是简单地使用cygwin。我按照https://github.com/joyent/node/wiki/Building-node.js-on-Cygwin-(Windows)下的howto进行操作。但是请确保您使用Node.js或npm的0.4.11版本会失败!


9
cygwin永远不是答案。解决这些问题是错误的方法。
Troy Howard'3

使用节点0.6时,您可以在Windows下轻松使用节点,但是许多依赖于二进制文件的节点模块不支持Windows,然后又回到需要Unix环境之类的地步。
Malte 2012年

1
实际上,如果使用cygwin,@ Troy Howard不必像处理Windows那样多。仅此一项是一个巨大的好处,因为它消除了他大部分问题的根源。
JaneGoodall 2014年

1
@TroyHoward我走得更远,说Windows绝对不能作为任何Web开发的答案。
Noz

除了要反驳的步骤外,Windows Visual Studio和.NET非常适合Web开发,包括都在IIS上运行的PHP和Perl。
朱尔斯·巴托

4

我刚刚从这里安装了适用于Windows 8.1的64位Node.js v0.12.0 。它约为8MB,由于它是MSI,因此只需双击即可启动。它将自动设置您的环境路径等。

然后,获取命令行,仅[Win-Key]+[S]用于搜索,然后输入“ node.js”作为搜索短语。

选择Node.js Command Prompt条目而不是Node.js条目。

两者都会给您一个命令提示符,但是只有前者可以实际工作。npm已内置到该下载文件中,因此可npm -whatever在提示时输入。


这解决了我的问题- 通过MSI安装程序在Windows上安装了node.js 之后,我仍然无法从命令行访问npm,并且在“ node.js”窗口中运行只是给出了我需要的错误使用命令行。我确信我不必手动添加路径-然后我发现我需要在特殊的节点外壳中运行,如该答案所示。谢谢。
Dan Nissenbaum 2015年

3

使用Windows软件包管理器,例如Chocolatey。首先按照首页上的指示安装Chocolatey 。那应该轻而易举

然后,要安装Node JS(安装),请从命令行或从PowerShell运行以下命令:

C:> cinst nodejs.install


现在对我有用。Windows 8.1中的路径已正确设置为:C:\ Program Files \ nodejs。但除非切换到该路径,否则我无法运行npm。但是,如果我运行了nodejs cmd行提示符,则会对其进行设置,使其正常工作。它设置C:\ Windows \ System32 \ cmd.exe / k“ C:\ Program Files \ nodejs \ nodevars.bat”并在“ C:\ Program Files \ nodejs \”中运行,也许c:\> cinst nodejs做了我在cinst nodejs.install之前运行的那个。我不确定 (为什么我不能纠正旧的评论?)
PatrikLindström2014年

发表评论后,您可以在5分钟内编辑自己的评论。meta.stackexchange.com/questions/459/…。现在看来,您至少可以删除前两个注释。
Christiaan Westerbeek 2014年

2

这是@CTS_AE提供的有关如何在独立的node.exe上使用NPM的指南:https ://stackoverflow.com/a/31148216/228508

  1. 从nodejs.org下载独立的node.exe
  2. 从github https://github.com/npm/npm/releases获取 NPM版本zip
  3. 在与node.exe相同的文件夹中创建一个名为:node_modules的文件夹
  4. 将NPM zip解压缩到node_modules文件夹中
  5. 将提取的npm文件夹重命名为npm并删除所有版本,即:npm-3.3.4 –> npm。
  6. 使用node.exe将npm.cmd从/ npm / bin /文件夹复制到根文件夹中

0

我是第一次安装Node.js,它包含NPM,可以从Windows cmd运行。但是,请确保以管理员身份运行它。右键单击cmd,然后选择“以管理员身份运行”。这使我可以调用npm命令。


-1

搜索系统中的所有.npmrc文件。

请确认您提供的路径正确。如果没有,请删除错误的路径。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.