繁体   English   中英

在Windows上安装npm(Node.js包管理器)(没有使用Node.js MSI)

[英]Install npm (Node.js Package Manager) on Windows (w/o using Node.js MSI)

问题:在使用nvm安装Node.js时,我能够安装我需要的Node.js版本,但是nvm不会自动安装npm NPM的页面未提供有关安装它的信息。 我自己并不是一个Windows用户,我完全不知所措......

Google中的每个结果似乎都使用Node.js MSI安装程序来实现这一点 - 在我的情况下这不是一个选项。 那么,我该怎么办?

要在Windows上安装npm,只需解压缩节点所在的npm 存档 有关更多详细信息,请参阅文档

npm随节点一起提供,就是你应该如何安装它。 nvm仅用于更改节点版本,不安装npm。 使用npm和nvm的一种更简洁的方法是首先按原样安装节点(使用npm),然后通过npm install nvm安装nvm软件包

https://nodejs.org/download/ 该页面包含Windows Installer(.msi)以及其他安装程序和二进制文件。下载并安装Windows。

Node.js附带NPM。

NPM位于安装Node.js的目录中。

我使用了@Eyuel方法:

  • https://nodejs.org/en/#download下载nodejs msi
  • 从github https://github.com/npm/npm下载npm zip
  • 在目录“node”中提取msi(带有7个Zip)
  • 设置PATH环境变量以添加“node”目录
  • 从npm中提取zip文件到另一个目录(不在节点目录下)
  • CD到npm目录并运行命令node cli.js install npm -gf

现在你应该有node + npm工作,使用这些命令来检查: node --versionnpm --version

更新27/07/2017 :我注意到最新版本的节点8.2.1与最新版本的npm完全不同于我在回答时所使用的版本。 使用这些版本的安装将不起作用。 它正在使用节点6.11.1和npm 5.2.3。 此外,如果您使用代理运行,请不要忘记在Internet上连接:

我还需要在Windows中安装npm并通过Chocolatey pacakage manager获得它。 对于那些没有听说过的人,Chocolatey是Windows的软件包管理器,它为您提供了在Windows环境中apt-get的便利。 要获取它,请访问https://chocolatey.org/ ,其中有一个PowerShell脚本可以下载并安装它。 之后你可以运行:

chocolatey install npm

而你很高兴。

请注意,独立的npm不再被更新,并且已知的最新版本在Windows上存在问题。 您可以看到的另一个选项是使用LessMSI从MSI中提取npm。

使用Windows CMD安装节点(nodejs)的第一张CD,然后按照以下步骤操作

C:...\node> git config --system http.sslcainfo /bin/curl-ca-bundle.crt
C:...\node> git clone --recursive git://github.com/isaacs/npm.git
C:...\node> cd node=modules\npm
C:...\node=modules\npm> node cli.js install npm -gf

只需从http://nodejs.org/dist/下载“node.exe”,选择您喜欢的“node.js”版本或采取最新版本。 您还可以从“x64”子目录中获取64位版本。

然后,转到http://nodejs.org/dist/npm/以检索您最喜欢的“npm”版本的Zip-archive(推荐: 1.4.10 )。 沿“node.exe”提取存档。

最后,为方便起见,建议将“node.js”目录添加到PATH中。

编辑:我建议使用npm install npm -g更新npm,因为nodejs.org提供的版本非常旧。

如果你想保留原始的npm版本,不要把npm放在"node.exe"旁边。 只需创建一个目录并使用带有“global”标志的相同命令,然后将.\\node_modules\\.bin\\npm.cmd到新目录:

mkdir c:\app\npm\_latest
cd c:\app\npm\_latest
<NPM_ORIGINAL_PATH>\npm install npm
cp node_modules\.bin\npm.cmd npm.cmd

最后更改PATH以使用c:\\app\\npm\\_latest

我最近编写了一个快速简单的应用程序来处理各种版本的节点和npm的管理。 它允许您选择不同版本的节点和npm来下载并选择要使用的版本。 检查一下,看看它是否有用。

https://github.com/nhatkthanh/wnm

尝试转到Window - > Preferences - > Nodeclipse并取消选中“在PATH上查找节点...”框。 然后确保下面的“Node.js路径”设置为node.exe文件的位置(对我来说它是C:\\ Program Files(x86)\\ nodejs \\ node.exe)。

下载最新的Node.js MSI(4.x或5.x)安装程序并通过命令行运行以下命令:

msiexec /a node-v4.4.3-x64.msi /qb TARGETDIR="C:\Node.js"

这会将二进制文件解压缩到C:\\Node.js\\nodejs

然后,您将要添加C:\\Node.js\\nodejs PATH环境变量。

要更新NPM,请执行以下操作:

cd C:\Node.js\nodejs
npm install npm@latest

完成后,您应该能够检查版本:

node --version
npm --version

节点应该是4.4.3+(无论你安装哪个),npm应该是3.8.7+。

TL; DR:安装Chocolatey,Node(和NPM)

安装Chocolatey

注意:您可能希望从其安装页面复制确切的命令,因为它可能会随着时间的推移而发生变化。

  1. 打开标准Windows命令行
  2. @powershell -NoProfile -ExecutionPolicy unrestricted -Command "(iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))) >$null 2>&1" && SET PATH="%PATH%;%ALLUSERSPROFILE%\\chocolatey\\bin"
  3. 重启控制台
  4. 完成!

安装节点(和NPM)

  1. 因为Chocolatey安装了与MSI安装不同的目录,请转到系统配置并删除以前的node安装(如果有的话)
  2. 如上所述安装Chocolatey
  3. choco install nodejs

    注意我使用了nodejs 我甚至不确定node是什么,但是我已经在其他系统中已经被其他东西占用了node公平分担,我想, nodejs会立刻成为更安全的赌注

  4. 重启你的控制台
  5. 注意: node -v有效!
    • npm -v也有效! 真棒。

在此之后,我能够毫无问题地安装firebase-tools (之前我无法做到),所以必须要做的事情非常正确! :)

第一次我的相当完整的故事

“巧克力安装在几秒钟内”

如果您在周日下午不关心讽刺或哀叹工程师,请跳至TL; DR部分中的安装说明。

对于其他人:我想修改这个建议使用的答案 (现在似乎是最热门的Windows管理解决方案): Chocolatey

它可以很好地快速完成工作。 但是,当我第一次尝试时,我花了一段时间来理解安装说明,这些说明有点令人费解。 安装说明有点像这样(完成了经历过我头脑中的内容):

  • 注意:
  • 注意:
  • 注意:

    三个大屁股注意事项,甚至在了解基础知识之前......这让我感到焦虑......事情有多糟糕!?

  • 使用受限制的TLS进行安装

    甚至不确定TLS是什么......哦,它是SSL好朋友 - 这不应该是默认的,只是开箱即用吗? 我的浏览器可以做HTTPS ,没有问题! (开玩笑......我知道SSLTSL在安全性要求高的环境中经常会造成很大的痛苦)

  • 选项1
  • 选项2

    呃......太棒了...我不能安装吗?

  • 在代理服务器后面安装?

    就是不行...

  • 要求

    呃...

  • 为什么Chocolatey默认安装在哪里?

    说真的!?!

  • 在安装之前

    伤心http://www.clipartbest.com/cliparts/jix/Ekx/jixEkxaGT.png

  • 我可以使用代理安装吗?

    再次与代理...

  • 我可以安装特定版本的Chocolatey吗?

    任何版本都没问题,谢谢......

  • 我可以使用Windows内置压缩而不是下载7zip吗?

    7zip的? 为什么你甚至提到这个?!

  • 非管理安装
  • 现在听起来很棒!

    • 注意 :此选项应该是最后的选择,并被认为是一种高级方案。”
      • 嘘$%!@ T。

  • 替代安装选项

    头晕

  • 命令行
    • “这确实是最简单的方法,因为它在执行之前不需要配置PowerShell。”

      你去吧!

虽然我非常感谢陷阱及其可能的解决方案得到如此广泛的讨论,但也许可以重新组织它们,并且Chocolatey installs in seconds完成Chocolatey installs in seconds承诺通过将“最简单的方法”放在第一位就可以了!

如果您正在运行Windows 10 Creators Update(1703)并且可以轻松地在Unix终端上导航,那么您可以使用Windows上的Ubuntu上的本机功能Bash (也就是Bash / WSL )来实现这一点。

这最初是在Build 2016的推出时推出的,但是在Creators更新中解决了许多补充和错误修复,但请注意,它仍处于测试阶段。

要启用,只需导航到控制面板\\所有控制面板项目\\程序和功能\\打开或关闭Windows功能

然后在Windows功能上选择Windows子系统Linux(Beta),如下面的Bash

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM