最近的一个项目,由三个 Gradle「Java」工程以及一个 Node「Vue.js」工程组成。为了使用 Linux 下的各种工具提升效率,本文探讨 Linux 子系统的使用及在该系统下,Java、Node.js、Gradle 等工具的配置。并在后一篇文章中,探讨该项目的一键构建、打包脚本,从而根本上提升开发效率。
1. Windows 10 秋季创意者更新下的 Linux 子系统
我目前使用的操作系统是最新的 Windows 10 秋季创意者更新(Version 1709),打开 Microsoft Store 并搜索 Linux,然后选择自己喜欢的 Linux 发行版安装即可,我安装的是 Ubuntu。
Linux 子系统安装完毕后,使用开始屏幕找到相应应用的磁贴,并点击打开;或者使用命令行,运行命令 bash
,均可打开已经安装的 Linux 子系统。
2. 相关工具的部署要点
现在去各自的官方网站下载 Java、Node.js、Gradle 这三个工具所对应的 Linux 版本。其中 Java、Node.js 拥有独立的 Linux 版本,Gradle 的 Windows、Linux 版本是一体的。
由于在启动 Ubuntu 后,Windows 10 中的环境变量 PATH
已被自动添加至 Ubuntu 中,所以这些工具的安装、以及添加环境变量有两种方法:
- 这些工具直接在 Windows 下解压,并添加至 Windows 系统环境变量中。工具的 Windows、Linux 版本由 Windows 统一管理,简化操作、界面友好,并且 Gradle 只需添加一个环境变量。
- 工具的 Linux 版本移入 Ubuntu 中,并在其中添加 Ubuntu 环境变量。注意 Windows 的环境变量最先被检索到,为避免冲突,Windows下的 Gradle 需进入 bin 目录,删掉用于 Linux 的 Gradle 脚本。
由于 Linux 子系统还是有少许不同,Windows 与 Linux 结合太紧密可能会出现 Bug,就算不是操作系统的 Bug,也可能由于工具未考虑到这样的使用方式导致出现 Bug,比如对于一体化的 Gradle,我使用方法 1 时,Gradle 确实有偶发的 Bug,将 Gradle 独立开来问题得以解决。
3. 部署并配置 Java、Node.js、Gradle 的环境变量
Java、Node.js、Gradle 下载完毕后,在 bash 中指向下载目录,并将其复制到 home 目录并解压:
# 将工具从 Windows 目录复制至 home 目录中
cp jdk-8u162-linux-x64.tar.gz /home/lml/soft/
cp node-v9.5.0-linux-x64.tar.xz /home/lml/soft/
cp gradle-4.5.1-bin.zip /home/lml/soft/
cd /home/lml/soft/
# 解压缩各工具
tar -zxvf jdk-8u162-linux-x64.tar.gz jdk1.8.0_162/
tar xvJf node-v9.5.0-linux-x64.tar.xz
unzip gradle-4.5.1-bin.zip
#添加环境变量,并使设置立即生效
vi ~/.bashrc
source ~/.bashrc
上述命令修改 ~/.bashrc
文件时,在该文件末尾新增如下脚本内容:
NODE_HOME=/home/lml/soft/node-v9.5.0-linux-x64
JAVA_HOME=/home/lml/soft/jdk1.8.0_162
GRADLE_HOME=/home/lml/soft/gradle-4.5.1
export NODE_HOME
export JAVA_HOME
export GRADLE_HOME
PATH=$PATH:$JAVA_HOME/bin:$NODE_HOME/bin:$GRADLE_HOME/bin
export PATH
脚本生效并执行后,在 bash 中可以看到上述三个工具均可识别成功:
从上图可以看出,Windows 环境变量也在其中,也可通过在 /usr/bin
目录下添加软链接的方式,识别相关命令:
4. 使用 SDKMAN! 管理各开发工具
在参考 Gradle 的官方文档时,官方推荐使用 SDKMAN! 安装、管理 Gradle,SDKMAN! 用于多种版本开发工具的切换、安装和卸载的工作,包括 Gradle、Java 等 Jvm 系的工具。由于未科学的上网,该工具速度不佳,不过通过文档能看到该工具简单易用。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。