首页 文章

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

提问于
浏览
53

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

错误如下:

C:\ Users \ Stephan> npm错误:ENOENT,stat'C:\ Users \ Stephan \ AppData \ Roaming \ npm'

解决方案如下 .

8 回答

  • 105

    Edit: 似乎新的安装程序不再出现此问题,请参阅this answer by Parag Meshram,因为我的答案现在可能已经过时了 .

    Original answer:

    密切关注以下步骤:

    • 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的信息,但没有任何关于npm的信息,请将其附加到PATH的末尾: ;C:\Users\{YOUR USERNAME HERE}\AppData\Roaming\npm;C:\Program Files\nodejs

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

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

  • 1

    http://nodejs.org/

    然后点击“下载...”按钮

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

  • 58

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

    %appdata%\npm
    %ProgramFiles%\nodejs
    

    所以你的新 PATH 看起来像:

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

    这具有以下优点:依赖于用户,也不依赖于32/64位 .

  • 2

    新安装程序(从https://nodejs.org下载的.msi)具有"Add to PATH"选项 . 默认情况下,它已被选中 . 确保你选中它 .

    Add to PATH

  • 0

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

    • 以管理员身份运行命令提示符

    • cd目录,其中存在msi文件

    • 通过在命令提示符中键入名称来启动msi文件

    • 您应该很高兴看到所有节点命令都可以在新命令提示符shell中运行

  • 2

    我有同样的问题,有什么帮助我们在安装节点时将我的反病毒保护转换为10分钟,它就像一个魅力 .

  • 14

    一切都应安装在%appdata%(C:\ Users \ AppData \ Roaming)中,而不是“程序文件” .

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

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

    这会造成一个混乱,因为所有模块都进入%appdata%,当你升级NPM本身 - NPM自己建议你马上做 - 你最终得到两个副本:原始仍然在'程序文件',因为NPM无法擦除那个,和新的一个%%appdata% .

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

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

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

  • 7

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

    • Node.js无法处理超过256个字符的路径,窗口往往具有很长的PATH .

    • 如果您从公司环境登录,您的AppData可能在服务器上 - 这将无效 . npm目录必须位于本地驱动器中 .

    即使这样做,最新的LTE(4.4.4)仍然存在Windows 10的问题,它工作了一段时间,然后每当我尝试:

    $ npm install _some_package_ --global
    

    节点抛出“FATAL ERROR CALL_AND_RETRY_LAST分配失败 - 进程内存不足”错误 . 仍然试图找到解决该问题的方法 .

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

相关问题