解决 Windows 系统使用 NPM 时遇到的各种问题

pngquant-bin 模块安装失败

  • 错误信息:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    npm ERR! path E:\Workspaces_NodeJs\hexo\node_modules\pngquant-bin
    npm ERR! command failed
    npm ERR! command C:\WINDOWS\system32\cmd.exe /d /s /c node lib/install.js
    npm ERR! ‼ getaddrinfo ENOENT raw.githubusercontent.com
    npm ERR! ‼ pngquant pre-build test failed
    npm ERR! i compiling from source
    npm ERR! × ErroE: pngquant failed to build, make sure that libpng-dev is installed
    npm ERR! at E:\Workspaces_NodeJs\hexo\node_modules\bin-build\node_modules\execa\index.js:231:11
    npm ERR! at runMicrotasks (<anonymous>)
    npm ERR! at processTicksAndRejections (node:internal/process/task_queues:96:5)
    npm ERR! at async Promise.all (index 0)
  • 解决方法一:使用 系统管理员身份,在 Windows 系统上执行 npm install -g windows-build-tools 命令,安装系统缺失的编译工具,然后执行 npm install 命令安装需要的 NPM 模块

  • 解决方法二(推荐):使用 CNPM 替代 NPM,然后执行 cnpm install 命令安装需要的 NPM 模块

    1
    2
    # 安装CNPM
    npm install -g cnpm --registry=https://registry.npmmirror.com
  • 解决方法三(推荐):在 Windows 系统上挂载 VPN,然后执行 npm install 命令安装需要的 NPM 模块,这可以从根本上解决国内访问 raw.githubusercontent.com 域名时被墙的问题

  • 解决方法四:更改 Host 文件 C:\Windows\System32\drivers\etc\hosts,在文件末尾添加以下内容,解决国内访问 raw.githubusercontent.com 域名时被墙的问题,然后执行 npm install 命令安装需要的 NPM 模块

    1
    199.232.28.133  raw.githubusercontent.com