【图文教程】如何在 Windows 系统下,基于 Git Bash 构建 Linux 开发环境,并使用 NVM 管理 Node.js 版本

2021-10-04 14:48:50

如何在 Windows 系统下,基于 Git Bash 构建 Linux 开发环境,并使用 NVM 管理 Node.js 版本的图文教程。


1 什么是 Git Bash ?

Git Bash 由 Git for Windows 提供,是面向 Windows 应用最小化开发环境,它提供 Linux 和 Unix 中的仿真环境,让 Git 在 Windows 中可以像在 Linux 和 Unix 中运作。

Git Bash 最早基于 Cygwin 构建,Cygwin 存在两个分支:MSYS 和 MSYS2,后者与 Cygwin 保持同步,并且继承了包管理系统 Pacman 。msysGit 是 Git Bash 的项目名称,基于 MSYS,正在向 MSYS2 发展。其中 Pacman 已经在 Git for Windows SDK 中提供。


2 如何在  Windows 系统下,基于 Git Bash 的构建 Linux 开发环境 ?

(1)安装 Git for Windows 和 Git for Windows SDK

Git for windows,直接从官网下载安装程序,一路 Next 即可。

Git for Windows SDK,直接下载安装程序,打开后,指定目录,并开启代理。程序会从 Github 上克隆源码到你刚才指定的目录中。


(2)将 Pacman 从 Git for Windows SDK 中复制到 Git for Windows

{Git for Windows SDK 目录}\usr\bin → {Git for Windows 目录}\usr\bin:复制如图所示文件


{Git for Windows SDK 目录}\var\lib → {Git for Windows 目录}\var\lib:整个目录复制(没有 var 和 lib 请新建)

{Git for Windows SDK 目录}\etc → {Git for Windows 目录}\etc:复制如图所示文件

需要从 Git for Windows SDK 复制到 Git for Windows 中的 Pacman 配置文件列表

完成后,重启 Git Bash,你就可以在其中使用 pacman -S {包名} 安装包,pacman -Rdd {包名} 删除包了。 


(3)安装 python

这里通过指定安装包路径,安装 python 2.7.18 版本。

问题:为什么不安装最新版本?

回答:因为最新的版本,可能无法编译老版本的 Node.js


pacman -U   

    http://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-python2-2.7.18-1-any.pkg.tar.xz```

安装成功后,输入 python2,即可进入 python,输入 exit() ,退出 python。


3 如何在基于 Git Bash 的构建 Linux 开发环境中,使用 NVM 管理 Node.js 版本


(1)安装 nvm

先在 ~ 目录下,新建一个 .bash_profile 文件,使用 vim 命令新建,然后按 : 键(Shift + ;),输入 wq 回车,保存并退出即可。

vim ~/.bash_profile

问答:为什么要新建 .bash_profile ?

回答:.bash_profile 在 Git Bash 每次运行前,都会被执行,默认没有该文件,我们可以手动创建。

nvm 安装后会自动将自己添加到其中,创建类似 Windows 的环境变量,并使得 nvm 全局可用


然后安装 nvm,直接使用官方的安装方式即可,这里用的是 curl:


curl -o-    

https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash```

脚本执行成功后,重新打开 Git Bash,nvm 就可以使用了


(2)安装 gcc 等

对于 64-bit 系统:

pacman -S mingw-w64-x86_64-toolchain

对于 32-bit 系统:

pacman -S mingw-w64-i686-toolchain

直接回车,安装全家桶即可


(3)安装 Node.js
按照下面的命令格式,使用 nvm install {Node.js 版本号} 安装指定版本的 Node

nvm install 14.0.0

使用 nvm use {Node.js 版本号} 即可切换 Node.js 版本


问题:遇到了 Did not find a new enough assembler, install one or build with

--openssl-no-asm. Please refer to BUILDING.md ,安装失败

回答:执行下面的命令,进入 nvm 主目录,切换分支到 master,然后重启 Git Bash 重新安装即可

cd "$NVM_DIR" && git checkout master


好啦,最终在 Windows 系统下,我们得到了基于 Git Bash 构建的 Linux 开发环境,并使用 NVM 管理 Node.js 版本。

在 Windows 系统下使用 Git Bash 运行 nvm 切换 Node.js 版本