安装NodeJS环境及node-gyp环境

前言

node-gyp的前置环境是安装NodeJS。

node-gyp是由于node程序中需要调用一些其他语言编写的 工具 甚至是dll,需要先编译到对应系统下。

node-gyp在较新的Node版本中都是自带的,用来编译原生C++模块。

NodeJS

https://nodejs.org/en/download/

https://nodejs.org/dist/v10.24.0/

查看nodejs是否安装成功

1
2
node -v
npm -v

NodeJS版本切换

版本切换工具请查看:

https://www.psvmc.cn/article/2022-03-02-nodejs-nvm.html

查看Node是32位还是64位

1
2
node
require('os').arch()

镜像

NPM镜像

阿里

1
2
npm config set registry https://registry.npmmirror.com
npm config list

华为

1
2
npm config set registry https://repo.huaweicloud.com/repository/npm/
npm cache clean -f

还原默认

1
npm config set registry https://registry.npmjs.org

华为开源镜像站同时也提供了工具类加速镜像,可以通过如下的命令设置加速地址:

※ 设置nodejs工具的镜像地址

1
npm config set disturl https://repo.huaweicloud.com/nodejs

※ 设置Node-Sass的镜像地址

1
npm config set sass_binary_site https://repo.huaweicloud.com/node-sass

※ 设置浏览器引擎驱动镜像地址

1
2
3
npm config set phantomjs_cdnurl https://repo.huaweicloud.com/phantomjs
npm config set chromedriver_cdnurl https://repo.huaweicloud.com/chromedriver
npm config set operadriver_cdnurl https://repo.huaweicloud.com/operadriver

※ 设置ElectronPython的镜像地址

1
2
npm config set electron_mirror https://repo.huaweicloud.com/electron/
npm config set python_mirror https://repo.huaweicloud.com/python

Electron镜像

查看配置文件的位置

1
npm config list

可以查看到本机的userconfig在哪,即.npmrc文件在哪

比如我的

userconfig C:\Users\Jian.npmrc

打开该文件 添加

1
2
registry=https://registry.npmmirror.com
electron_mirror="https://npm.taobao.org/mirrors/electron/"

仅适用于中国区客户

MacOS

1
2
3
4
5
6
7
# macOS
export ELECTRON_MIRROR="https://npm.taobao.org/mirrors/electron/"
export ELECTRON_CUSTOM_DIR="7.1.14"
export SASS_BINARY_SITE="https://npm.taobao.org/mirrors/node-sass/"
export ELECTRON_BUILDER_BINARIES_MIRROR="https://npm.taobao.org/mirrors/electron-builder-binaries/"

npm install --registry=https://registry.npm.taobao.org

Windows

1
2
3
4
5
6
7
# Windows
set ELECTRON_MIRROR=https://npm.taobao.org/mirrors/electron/
set ELECTRON_CUSTOM_DIR=7.1.14
set ELECTRON_BUILDER_BINARIES_MIRROR=https://npm.taobao.org/mirrors/electron-builder-binaries/
set SASS_BINARY_SITE=https://npm.taobao.org/mirrors/node-sass/

npm install --registry=https://registry.npmmirror.com

Node-gyp

在node-gyp安装前,一定是有node.js

使用管理员身份运行(一定注意 在Windows powerShell(管理员)输入指令)

1
npm install -g --production windows-build-tools --registry=https://registry.npm.taobao.org

这个命令会根据Node是32位还是64位自动安装对应版本的依赖。

这个命令安装的啥呢?

  1. python(v2.7 ,3.x不支持);
  2. visual C++ Build Tools,或者(vs2015以上(包含2015))
  3. .net framework 4.5.1

这个过程时间较长,请耐心等待。

安装node-gyp:

1
npm install -g node-gyp --registry=https://registry.npm.taobao.org

查看安装情况:

1
node-gyp list

如果已安装pythonmsvs_version

全局设置 python2 和 msvs_version 环境变量

1
2
3
4
# 全局设置 python2 环境变量
npm config set python2 "C:\Python27\python.exe"
# 全局设置 buildTools 环境变量
npm config set msvs_version "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools"

常见问题

node-canvas无法安装

原因是GTK无法下载

win64下载地址(推荐):http://ftp.gnome.org/pub/gnome/binaries/win64/gtk+/2.22/gtk+-bundle_2.22.1-20101229_win64.zip

下载GTK包并解压在C:\GTK目录下

重新安装即可

1
npm install node-canvas