在Windows 10上安装Node.js(和npm)

时间:2014-12-07 15:12:03

标签: node.js windows npm installation

我在尝试在Windows 10上安装Node时遇到了一些问题并找到了解决方案。

错误如下:

  

C:\用户\斯蒂芬> NPM
  错误:ENOENT,stat'C:\ Users \ Stephan \ AppData \ Roaming \ npm'

解决方案如下。

8 个答案:

答案 0 :(得分:112)

修改 似乎新安装程序不再出现此问题,请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目录,你会发现Roaming中没有npm目录。手动创建此目录。

重新启动命令提示符,npm现在可以正常工作。

答案 1 :(得分:60)

转到http://nodejs.org/

然后按下按钮,显示"下载..."

这将下载.msi(或.pkg for mac),它将为您执行所有安装和路径,与选定的答案不同。

答案 2 :(得分:14)

除了@StephanBijzitter的回答,我还会使用以下PATH变量:

%appdata%\npm
%ProgramFiles%\nodejs

所以你的新PATH会是这样的:

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

这样做的好处是neiter依赖于用户,也不依赖于32/64位。

答案 3 :(得分:9)

新安装程序(从https://nodejs.org下载的.msi)具有“添加到路径”选项。默认情况下,它已被选中。确保你选中它。

Add to PATH

答案 4 :(得分:2)

You should run the installer as administrator.

  1. Run the command prompt as administrator
  2. cd directory where msi file is present
  3. launch msi file by typing the name in the command prompt
  4. You should be happy to see all node commands work from new command prompt shell

答案 5 :(得分:2)

我遇到了同样的问题,在节点安装的同时,我们将反病毒保护转为10分钟,这有点像魅力。

答案 6 :(得分:1)

所有内容都应该安装在%appdata%(C:\ Users \\ AppData \ Roaming)中,而不是'程序文件'。

这就是为什么......

默认的MSI安装程序将节点及其随附的NPM放入“程序文件”中。并将其添加到系统路径,但它将NPM的用户路径设置为%appdata%(c:\ users [username] \ appdata \ roaming),因为用户没有足够的权限写入&#39 ;程序文件'。

这会造成混乱,因为所有模块都进入%appdata%,当你升级NPM本身 - NPM自己建议你马上做 - 你最终会得到两份:原版仍在'程序文件&# 39;因为NPM不能删除它,而新的一个%app appdata%。

更糟糕的是,如果您错误地以管理员身份执行NPM操作(在Windows上更容易,然后在* nix上),那么它将在'程序文件'上运行。 NPM node_modules的副本。可能是一团糟。

因此,当您运行安装程序时,只需将其指向%appdata%并避免所有这些。

请注意,这并不是什么奇怪的事情 - 如果你只使用用户权限运行安装程序会发生什么。

答案 7 :(得分:0)

您必须修改AppData的原因可能是:

  1. Node.js无法处理超过256个字符的路径,窗口往往具有很长的PATH。
  2. 如果您是从公司环境登录,您的AppData可能在服务器上 - 这不会起作用。 npm目录必须位于本地驱动器中。
  3. 即使这样做了,最新的LTE(4.4.4)仍然存在Windows 10的问题,只要我尝试一次,它会工作一段时间:

    $ npm install _some_package_ --global 
    

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

    我发现唯一有效的方法是运行Vagrant或Virtual box,然后运行Linux命令行(必须匹配路径),这是一个非常混乱的解决方案。