命令行软件管理器:chocolatey

电子说

1.3w人已加入

描述

小二是公司新来的实习生,之前面试的过程中对答如流,所以我非常看好他。第一天,我给他了一台新电脑,要他先在本地搭建个 Java 开发环境。

二话不说,他就开始马不停蹄地行动了。真没想到,他竟然是通过命令行的方式安装的 JDK,这远远超出了我对他的预期。

我以为,他会使用图形化的方式来安装 JDK 的,就像这样。

JAVA

还有这样。

JAVA

结果他是这样的。

JAVA

卧槽!牛逼高大上啊!

看着他熟练地在命令行里安装 JDK 的样子,我的嘴角开始微微上扬,真不错!这次总算招到了一个靠谱的。

于是我就安排他做一个记录。从他嘴里了解到,他用的命令行软件管理器叫 chocolatey,这是一个Windows下的命令行软件管理器,可以方便开发者像在Linux下使用yum命令来安装软件,或者像在macOS下使用brew 命令来安装软件,我感觉非常酷炫。

JAVA

以下是他的记录,一起来欣赏下。

关于shell

对于一名 Java 后端程序员来说,初学阶段,你可以选择在 IDE 中直接编译运行 Java 代码,但有时候也需要在 Shell 下编译和运行 Java 代码。

Windows 下自带的 Shell 叫命令提示符,或者 cmd 或者 powershell,macOS 下叫终端 terminal。

但当你需要在生产环境下部署 Java项目或者查看日志的话,就必然会用到 Shell,这个阶段,Shell 的使用频率高到可以用一个成语来形容——朝夕相伴。

一些第三方软件会在原生的 Shell 基础上提供更强大的功能,常见的有 tabby、Warp、xhsell、FinalShell、MobaXterm、Aechoterm、WindTerm、termius、iterm2 等等,有些只能在 Windows 上使用,有些只能在 macOS 上使用,有些支持全平台。还有 ohmyzsh 这种超神的 Shell 美化工具。

这里,我们列举一些 Shell 的基本操作命令(Windows 和 macOS/Linux 有些许差异):

  • 切换目录,可以使用 cd 命令切换目录,cd .. 返回上级目录。
JAVA
  • 目录列表,macos/linux 下可以使用 ls 命令列出目录下所有的文件和子目录(Windows 下使用 dir 命令),使用通配符 * 对展示的内容进行过滤,比如 ls *.java 列出所有 .java后缀的文件,如果想更进一步的话,可以使用 ls H*.java 列出所有以 H 开头 .java 后缀的文件。
  • 新建目录,macOS/Linux 下可以使用 mkdir 命令新建一个目录(比如 mkdir hello 可以新建一个 hello 的目录),Windows 下可以使用 md 命令。
  • 删除文件,macOS/Linux 下可以使用 rm 命令删除文件(比如 rm hello.java 删除 hello.java 文件),Windows 下可以使用 del 命令。
  • 删除目录,macOS/Linux 下可以使用 rm -r 命令删除目录以及它所包含的所有文件(比如说 rm -r hello 删除 hello 目录)。Windows 下可以使用 deltree 命令。
  • 重复命令,macOS/Linux/Windows 下都可以使用上下箭头来选择以往执行过的命令。
JAVA
  • 命令历史,macOS/Linux 下可以使用 history 命令查看所有使用过的命令。Windows 可以按下 F7 键。
JAVA
  • 解压文件,后缀名为“.zip”的文件是一个包含了其他文件的压缩包,macOS/Linux 系统自身已经提供了用于解压的 unzip 命令, Windows 的话需要手动安装。

安装JDK

1)Windows

推荐先安装 chocolatey。这是一个Windows下的命令行软件管理器,可以方便开发者像在Linux下使用yum命令来安装软件,或者像在macOS下使用brew 命令来安装软件,非常酷炫。

The biggest challenge is reducing duplication of effort, so users turn to Chocolatey for simplicity

传统的安装方式要么非常耗时,要么非常低效,在命令行安装软件除了简单高效,还能自动帮我们配置环境变量。

  • 官方地址:https://chocolatey.org/
  • 安装文档:https://chocolatey.org/install#individual

安装完成后如下图所示:

JAVA

如果不确定是否安装成功的话,可以通过键入 choco 命令来确认。

JAVA

这里推荐几个非常高效的操作命令:

  • choco search xxx,查找 xxx 安装包
  • choco info xxx,查看 xxx 安装包信息
  • choco install xxx,安装 xxx 软件
  • choco upgrade xxx,升级 xxx 软件
  • choco uninstall xxx, 卸载 xxx 软件

如何知道 chocolatey 仓库中都有哪些安装包可用呢?

可以通过上面提到的命令行的方式,也可以访问官方仓库进行筛选。

https://community.chocolatey.org/packages

比如说我们来查找 Java。

JAVA

好,现在可以直接在shell中键入 choco install jdk8 来安装 JDK8 了,并且会自动将Java加入到环境变量中,不用再去「我的电脑」「环境变量」中新建 JAVA_HOME 并复制 JDK 安装路径配置 PATH 变量了,是不是非常 nice?

稍等片刻,键入 java -version 就可以确认Java是否安装成功了。

JAVA

不得不承认!非常nice!

2)macOS

首先推荐安装 homebrew,这是macOS下的命令行软件管理器,用来简化 macOS 上软件的安装过程。homebrew 是开源的,在 GitHub 已收获 32k star。

JAVA

homebrew 的安装也非常的简单,只需要一行命令即可。

官方网址:https://brew.sh/index_zh-cn

JAVA
  • 使用 brew install xxx 可以安装 macOS 上没有预装的软件
  • 使用 brew install --cask yyy 可以安装 macOS 其他非开源软件。

这里是 homebrew 常用命令的一个清单,可供参考。

命令 描述
brew update 更新 Homebrew
brew search package 搜索软件包
brew install package 安装软件包
brew uninstall package 卸载软件包
brew upgrade 升级所有软件包
brew upgrade package 升级指定软件包
brew list 列出已安装的软件包列表
brew services command package 管理 brew 安装软件包
brew services list 列出 brew 管理运行的服务
brew info package 查看软件包信息
brew deps package 列出软件包的依赖关系
brew help 查看帮助
brew cleanup 清除过时软件包
brew link package 创建软件包符号链接
brew unlink package 取消软件包符号链接
brew doctor 检查系统是否存在问题

安装完 homebrew 后,建议替换homebrew 的默认源为中科大的,原因就不用我多说了吧?替换方法如下所示:

替换brew.git:
cd "$(brew --repo)"
git remote set-url origin https://mirrors.ustc.edu.cn/brew.git

替换homebrew-core.git:
cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"
git remote set-url origin https://mirrors.ustc.edu.cn/homebrew-core.git

如何知道 homebrew 仓库中都有哪些安装包可用呢?

第一种,通过 brew search xxx 命令搜索,比如说我们要搜索 jdk

JAVA

第二种,通过 homebrew 官网搜索,比如说我们要搜索 openjdk。

官方地址:https://formulae.brew.sh

JAVA

这里有一份不错的 homebrew 帮助文档,可供参考:

https://sspai.com/post/56009

OK,我们来安装JDK,只需要简单的一行命令就可以搞定。

brew install openjdk@8

对比下载安装包,通过图形化界面的方式安装 JDK,是不是感觉在 Shell 下安装 JDK 更炫酷一些?

关键是还省去了环境变量的配置。

记得还没有走出新手村的时候,就经常被环境变量配置烦不胜烦。那下载这种命令行的方式,要比手动在环境变量中配置要省事一百倍,也更不容易出错。

关于编辑器

安装完 Java 之后,你还需要一个编辑器,用来编写 Java 代码。

编辑器多种多样,常见的有集成开发环境(IDE,比如 Intellij IDEA 和 vscode),和简单的文本编辑工具(比如 sublime text)。

我建议这三个工具都要装,日常开发中,我会在这三个编辑器中来回切换。

Intellij IDEA:主要用来编写Java代码,并且最好安装旗舰版,社区版用来学习JavaSE部分是绰绰有余的,但要想拥有更强大的生产力,旗舰版是必须的,因为功能更加强大。

比如说 idea 旗舰版中可以直接通过 Initializr 来创建springboot项目,但社区版就没有此功能。

JAVA

vscode:更加轻量级的 IDE,在编写Java代码上可以和idea媲美,但要想调试Java代码的话,vscode 和idea的差距还是非常明显的。

JAVA

我会使用 Intellij IDEA 开发编程喵的后端代码,vscode 来开发编程喵的前端代码。

sublime text:功能更强大的文本编辑器,比记事本这种强大一万倍,也更符合21世纪开发者的外观审美。如果只是简单的修改一下代码格式,或者注释,显然更加方便,因为idea还是比较吃内存的,出差旅行的时候,在笔记本上紧急修改一些代码时,更易用。

JAVA

我会配合 GitHub 桌面版来使用 sublime text,编辑 MD 文档的时候会比较舒服。


有了 chocolatey 和 homebrew,以后再安装任何一款软件,只要仓库里有,只需要一行命令就可以搞定了,还是非常值得给大家安利的。

审核编辑 :李倩
 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分