2014-12-07 201 views

回答

92

编辑: 好像新的安装程序没有这个问题了,看到this answer通过Parag Meshram作为我的回答是现在很可能已经过时。

原来的答复:

按照以下步骤,密切:

  • http://nodejs.org/download/下载的64位版本,32是时髦
  • 安装任何你想要的,默认为:C:\Program Files\nodejs
  • 控制面板 - >系统 - >高级系统设置 - >环境变量
  • 选择PATH并选择编辑它。

如果PATH变量是empty,改成这样:C:\Users\{YOUR USERNAME HERE}\AppData\Roaming\npm;C:\Program Files\nodejs

如果PATH变量已经包含C:\Users\{YOUR USERNAME HERE}\AppData\Roaming\npm,附加以下之后:;C:\Program Files\nodejs

如果PATH变量包含的信息,但没有关于npm,将此附加到PATH的末尾:;C:\Users\{YOUR USERNAME HERE}\AppData\Roaming\npm;C:\Program Files\nodejs

既然PATH变量设置正确,您仍然会遇到错误。手动进入AppData目录,你会发现漫游中没有npm目录。手动创建该目录。

重新启动命令提示符,现在npm将工作。

+0

此解决方案是否适用于所有Windows10版本? – captainrad 2015-03-25 21:22:15

+2

@captainrad到目前为止我没有任何麻烦,但我无法确定在12月7日之前发布 – 2015-03-26 08:23:59

+1

@captainrad它将C:\ Program Files \ nodejs中的文件复制到C:\ Users \ {Your USERNAME HERE} \ AppData \ Roaming \ npm在Windows 10上 – Onuralp 2015-03-28 14:19:01

52

http://nodejs.org/

,打,说:“下载为...”

这将下载的.msi,将完成所有的安装和路径,你(不像选择答案按钮)

+1

介意解释为什么接受的答案不适合你? – 2015-10-04 11:51:55

+9

接受的答案要求我手动输入不需要的路径,如果您运行安装程序(.msi)。 – foreyez 2015-10-04 14:42:40

+1

然后,无论安装程序是否已更新为在过去几周内自动执行此操作,或者您刚刚在系统上运行良好:-)但是,我确实怀疑这一点。 – 2015-10-05 06:53:21

13

除了回答@StephanBijzitter我会用以下PATH变量来代替:

%appdata%\npm 
%ProgramFiles%\nodejs 

因此新PATH会是什么样子:

[existing stuff];%appdata%\npm;%ProgramFiles%\nodejs 

这有neiter是依赖于用户的,也没有32位/ 64位依赖的优势。

+0

如果您已将它安装在默认位置,这很好,但请记住,如果您没有这样做,这只会使PATH变量杂乱无章。 – 2016-08-27 10:37:15

2

您应该以管理员身份运行安装程序。

  1. 运行命令提示符以管理员身份
  2. CD目录MSI文件是目前
  3. 推出的MSI文件通过在命令提示符下键入名称
  4. 你应该高兴地看到所有节点的命令工作来自新的命令提示符壳
0

你之所以要修改应用程序数据可能是:

  1. Node.js无法处理长度超过256个字符的路径,Windows往往会有很长的PATH。
  2. 如果您是从公司环境登录的,您的AppData可能位于服务器上 - 这是行不通的。 npm目录必须位于本地驱动器中。

即使这样做,最新的LTE(4.4.4)仍然有问题与Windows 10之后,它的工作一小会儿,然后每当我尝试:

$ npm install _some_package_ --global 

节点抛出“FATAL错误CALL_AND_RETRY_LAST分配失败 - 处理内存不足“错误。仍然试图找到解决这个问题的方法。

我找工作的唯一一件事就是跑流浪或虚拟框,然后运行在Linux命令行(必须匹配的路径),这是一个相当混乱的解决方案。

4

新的安装程序(.MSI从https://nodejs.org下载)有 “添加到PATH” 选项。默认情况下,它被选中。确保你不会取消选中它。

Add to PATH

+0

好吧终于:-) – 2017-03-11 11:03:10

+0

奇怪的是,我用这个安装程序,他们绝对检查。我仍然需要在路径变量中添加nodejs文件夹 – DerpyNerd 2017-10-21 10:58:03

0

一切都应该被安装在%APPDATA%(C:\用户\\应用程序数据\漫游),而不是 '程序文件'。

这里的原因...

默认的MSI安装程序把节点和随之而来的“程序文件”和其加入到系统路径故宫,但它为NPM用户路径%APPDATA %(c:\ users [用户名] \ appdata \ roaming),因为用户没有足够的权限来写入'程序文件'。

这将创建一个烂摊子,因为所有模块进入%APPDATA%,并且当你升级NPM本身 - 这NPM自己建议你做对了 - 你最终有两个副本:仍处于“程序文件”原来因为NPM无法擦除,而新的店%appdata%。

更糟的是,如果错误地执行NPM操作的管理员(在Windows上容易得多然后在* nix),那么它将在NPM node_modules的“程序文件”复制操作。可能是一个真正的混乱。

所以,当你运行安装程序只是其指向%APPDATA%和逃避这一切。

而且注意,这是没有什么奇怪的 - 这是,如果你跑了只是用户priveleges安装程序会发生什么。