Skip to main content

安装node-gpy

安装node-gpy

背景介绍:node-gyp

GYP

GYP是一种构建自动化工具。 GYP由Google创建,用于生成用于构建Chromium Web浏览器的本机IDE项目文件,并使用BSD软件许可证作为开源软件获得许可。 GYP的功能类似于CMake构建工具。 GYP处理包含JSON字典的文件,以生成一个或多个目标项目make文件。

操作系统: macOS, Linux, Solaris, FreeBSD, OpenBSD, Windows

编写时间: Python

许可协议: BSD license

原著者: Mark Mentovai

长久以来 linux 的二进制分发一直是巨坑,npm 为了方便干脆就直接源码分发,用户装的时候再现场编译。

Google使用过很多处理平台无关的项目构建系统,比如Scons,CMake。在实际使用中这些并不能满足需求。开发复杂的应用程序时,在Mac上Xcode更加适合,而Windows上Visual Studio更是无二之选。gyp是为Chromium项目创建的项目生成工具,生成项目文件后就可以调用GCC, vsbuild, xcode等编译平台来编译。从平台无关的配置生成平台相关的Visual Studio、Xcode、Makefile的项目文件。这样一来我们就不需要花额外的时间处理每个平台不同的项目配置以及项目之间的依赖关系。

node下的gyp

至于为什么要有node-gyp,是由于node程序中需要调用一些其他语言编写的工具甚至是dll,需要先编译一下,否则就会有跨平台的问题,例如在windows上运行的软件copy到mac上就不能用了,但是如果源码支持,编译一下,在mac上还是可以用的。node-gyp在较新的Node版本中都是自带的(平台相关),用来编译原生C++模块。

node-gyp是用Node.js编写的跨平台命令行工具,用于为Node.js编译本机附加模块。它包含gyp-next项目的供应商副本,该副本 以前由Chromium团队使用,已扩展以支持Node.js本机插件的开发。

在一个新的vue项目中安装:

先在控制台输入:

#(此命令为一键安装) 如果是干净的环境可以用下面命令一键安装
npm install --global --production windows-build-tools

为啥要一键安装呢,安装的是啥呢?

解释:安装前提条件

  1. python(v2.7 ,3.x不支持);

  2. visual C++ Build Tools,或者 (vs2015以上(包含15))

  3. .net framework 4.5.1

就是安装的这三个东西,安装时间有点长,别着急

安装命令

npm install -g node-gyp

安装完成后查看

控制台输入:

node-gyp list

遇到问题

python找不到或者环境不对

  • 查看命令行python是否可用,如果不可用,设置path.确定命令行可用。多版本的可以参考网上相关教程进行设置

  • 命令行可用。可以通过下面命令设置

npm config set python D:\Library\Python\Python27\python.exe

如果不行执行下面的

node-gyp configure --python v2.7.3 --verbose

node-gyp rebuild 出错

  • 重装node-gyp
  • 依次执行下面的命令
npm uninstall node-gyp -g
npm i -g windows-build-tools# 环境已用不用执行
npm install -g node-gyp
npm iconfig set python python
npm i microtime --save-dev

提示找不到系统SDK

  • 安装对应的SDK 或者强行设置为当前系统安装的SDK。

node-gyp 配置错误

  • 设置代理端口
--proxy=http://myproxyurl/
或者
npm config set registry http://registry.npmjs.org/

提示https超时或者异常

  • 改用http请求
npm config set registry http://registry.npmjs.org/
npm config get registry # 确定是不是http,有时设置可能失败,原因未知