近期编译uniapp项目,由于项目模板版本较老,要求使用nodejs v14,利用nvm切换 v14后,发现DCloud的库必须使用node-sass版本必须是4.0,而node-sass必须使用node-gyp的3.8版本,进而发现node-gyp的3.8版本使用MSVC toolset可能存在bug,遂决定使用GNU toolchain。
首先想到的是安装MinGW,因此到这里 Downloads - MinGW-w64 下载 MinGW,从sourceforge下载安装程序,最新版本支持到8.1,想体验最新版本的,所以 决定使用cygwin,从这里 Cygwin Installation 连接到cygwin官网下载。
安装好cygwin 及 binutil 后,设置如下环境变量即可使用GNU 工具编译了。
-
确保已经在 Cygwin 中安装了 MinGW 编译工具。可以使用 Cygwin 的包管理器来安装它。运行以下命令来安装 MinGW 编译工具链:
apt-cyg install mingw64-x86_64-gcc-g++
这将安装 MinGW 编译工具链和相关的依赖项。
-
在 Cygwin 终端中,使用
export
命令设置CC
和CXX
环境变量,将其指向 MinGW 编译工具链。运行以下命令:export CC=/usr/bin/x86_64-w64-mingw32-gcc export CXX=/usr/bin/x86_64-w64-mingw32-g++
这将设置环境变量,指示 yarn 使用 MinGW 编译工具链进行编译。
-
现在可以运行
yarn install
命令来安装项目的依赖。在 Cygwin 终端中,进入到项目的根目录,并运行以下命令:yarn install
yarn 将使用 MinGW 编译工具链进行编译,而不是使用微软的编译工具。