包管理器

Mac 特有

Homebrew

https://brew.sh/index_zh-cn

Homebrew 安装

1
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Homebrew 源替换

1
2
3
4
5
git -C "$(brew --repo)" remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git
git -C "$(brew --repo homebrew/core)" remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-core.git
git -C "$(brew --repo homebrew/cask)" remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-cask.git

brew update

还原 homebrew 源

1
2
3
4
5
git -C "$(brew --repo)" remote set-url origin https://github.com/Homebrew/brew.git
git -C "$(brew --repo homebrew/core)" remote set-url origin https://github.com/Homebrew/homebrew-core.git
git -C "$(brew --repo homebrew/cask)" remote set-url origin https://github.com/Homebrew/homebrew-cask.git

brew update

Homebrew-bottles 镜像使用帮助

注:该镜像是 Homebrew 二进制预编译包的镜像。本镜像站同时提供 Homebrew 的 formula 索引的镜像(即 brew update 时所更新内容),请参考 Homebrew 镜像使用帮助。**

临时替换

1
export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles

长期替换

1
2
echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles' >> ~/.bash_profile
source ~/.bash_profile

brew 的常用命令
搜索

1
brew search tomcat

安装软件

1
2
3
brew install wget
brew install nginx
brew install redis

Homebrew 镜像使用帮助 https://mirror.tuna.tsinghua.edu.cn/help/homebrew/

MacPorts

The MacPorts Project – Home
https://www.macports.org/

Win 特有

Chocolatey

Chocolatey Software | Chocolatey - The package manager for Windows
https://chocolatey.org/

1
2
3
4
5
choco install bandizip
choco install --yes bandizip
choco install --yes bandizip firefox potplayer teamviewer
choco upgrade --yes Bandizip
choco uninstall bandizip

通过使用 info 命令,你还可以查看程序的详细信息

choco info tim

为了便于管理,我们有时候需要查看所有程序的列表。想知道自己用 Chocolatey 装了哪些程序,可以这样写:

choco list --local

需要更新程序时,可以先检查一下哪些应用需要更新,使用 outdated 命令:

choco outdated

安装
可事先设置环境变量 ChocolateyInstall 为 D:\alee\exec\chocolatey,否则将默认安装在 “$env:PROGRAMDATA\chocolatey”

Install with PowerShell.exe

1
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))

卸载 chocolatey
官网说了,直接删除文件夹和环境变量即可

chocolatey 官网说了,直接删除文件夹和环境变量即可。

有一些环境变量需要调整或删除。

ChocolateyInstall
ChocolateyToolsLocation
ChocolateyLastPathUpdate
PATH (will need updated to remove)

示例

1
choco install notepadplusplus

缺点
付费版才能较好的支持选择安装位置。

Scoop

https://scoop.sh/#/

1
2
> Set-ExecutionPolicy RemoteSigned -Scope CurrentUser # Optional: Needed to run a remote script the first time
> irm get.scoop.sh | iex

更换镜像源

1
2
3
4
# 更换 scoop 的 repo 地址
scoop config SCOOP_REPO 'https://gitee.com/glsnames/scoop-installer'
# 拉取新库地址
scoop update
1
2
3
4
5
6
7
8
9
# 安装 Qodana CLI 用到的仓库
scoop bucket add jetbrains https://github.com/JetBrains/scoop-utils
# Mostly Chinese applications / 大多是国内应用程序
scoop bucket add scoopcn https://github.com/scoopcn/scoopcn.git

# 强烈推荐使用这个仓库,扩充了大量软件
scoop bucket add extras
# Scoop的Java仓库,包括以下厂商的版本:Oracle Java, OpenJDK, Eclipse Temurin, IBM Semeru, Zulu, ojdkbuild, Amazon Corretto, BellSoft Liberica, SapMachine 和 Microsoft JDK.
scoop bucket add java

scoop bucket list
查看所有 bucket

winget

转载自 使用 winget 工具安装和管理应用程序 | Microsoft Docs
https://docs.microsoft.com/zh-cn/windows/package-manager/winget/

开发人员可以在 Windows 10 计算机上使用 winget 命令行工具来发现、安装、升级、删除和配置应用程序。 此工具是 Windows 程序包管理器服务的客户端接口。

可使用多种方法安装 winget 工具:
安装位于 winget 存储库的 release 文件夹中的 Windows 桌面应用安装程序包。

备注:winget 工具需要 Windows 10 版本 1709 (10.0.16299) 或更高版本的 Windows 10。

管理员注意事项

https://docs.microsoft.com/zh-cn/windows/package-manager/winget/#administrator-considerations

安装程序的行为可能会有所不同,具体取决于你是否是以管理员权限运行 winget 。

  • 在没有管理员权限的情况下运行 winget 时,某些应用程序可能会 要求提升权限才能进行安装。 当安装程序运行时,Windows 会提示你提升权限。 如果你选择不提升权限,则应用程序无法进行安装。

  • 在管理员命令提示符下运行 winget 时,如果应用程序要求你提升权限,你不会看到 提升权限提示。 以管理员身份运行命令提示符时请务必小心,仅安装你信任的应用程序。

使用 winget

https://docs.microsoft.com/zh-cn/windows/package-manager/winget/#use-winget

安装 应用安装程序 后,可以通过在命令提示符下键入“winget”来运行 winget 。

最常见的使用场景之一是搜索并安装你最喜欢的工具。

1. 若要搜索某个工具,请键入 winget search <appname>

2. 确认你需要的工具可用后,可以通过键入 winget install <appname> 来安装该工具。 winget 工具会启动安装程序,将应用程序安装在你的电脑上。

3. 除了安装和搜索外, winget 还提供了许多其他命令,用来 显示应用程序详细信息, 更改源以及 验证程序包。 若要获取完整的命令列表,请键入 winget --help

命令

https://docs.microsoft.com/zh-cn/windows/package-manager/winget/#commands

winget 工具的当前预览版支持以下命令。

命令 说明
hash 为安装程序生成 SHA256 哈希。
help 显示 winget 工具命令的帮助信息。
install 安装指定的应用程序。
search 搜索某个应用程序。
show 显示指定应用程序的详细信息。
source 添加、删除和更新 winget 工具访问的 Windows 程序包管理器存储库。
validate 验证要提交到 Windows 程序包管理器存储库的清单文件。

选项

https://docs.microsoft.com/zh-cn/windows/package-manager/winget/#options

winget 工具的当前预览版支持以下选项。

选项 说明
-v、–version 此选项返回 winget 的当前版本。
–info info 提供有关 winget 的所有详细信息,包括许可证和隐私声明的链接。
-?、–help 获取有关 winget 的更多帮助信息
支持的安装程序格式

https://docs.microsoft.com/zh-cn/windows/package-manager/winget/#supported-installer-formats

winget 工具的当前预览版支持以下类型的安装程序。

EXE(具有 Silent 和 SilentWithProgress 标志)
INNO
NULLSOFT
MSI
APPX
MSIX
BURN
PORTABLE

编写 winget 脚本

https://docs.microsoft.com/zh-cn/windows/package-manager/winget/#scripting-winget

可以编写批处理脚本和 powershell 脚本来安装多个应用程序。

CMD 复制

1
2
3
4
5
6
7
8
@echo off
Echo Install Powertoys and Terminal
REM Powertoys
winget install Microsoft.Powertoys
if %ERRORLEVEL% EQU 0 Echo Powertoys installed successfully.
REM Terminal
winget install Microsoft.WindowsTerminal
if %ERRORLEVEL% EQU 0 Echo Terminal installed successfully. %ERRORLEVEL%

备注

使用脚本时, winget 会按指定顺序启动应用程序。 当安装程序返回成功或失败时, winget 会启动下一个安装程序。 如果某个安装程序启动了另一进程,它可能会提前返回到 winget 。 这会导致 winget 在上一个安装程序完成之前安装下一个安装程序。

缺少工具

https://docs.microsoft.com/zh-cn/windows/package-manager/winget/#missing-tools

如果社区存储库未包含你的工具或应用程序, 请将程序包提交到我们的存储库。 添加你最喜爱的工具后,你和其他人都可以使用它。

自定义 winget 设置

https://docs.microsoft.com/zh-cn/windows/package-manager/winget/#customize-winget-settings

可以通过修改 settings.json 文件配置 winget 命令行体验 。 有关详细信息,请参阅 https://aka.ms/winget-settings。 请注意,这些设置仍处于试验状态,并且尚未针对工具的预览版本最后确定。

开源详细信息

https://docs.microsoft.com/zh-cn/windows/package-manager/winget/#open-source-details

winget 工具是 GitHub 上的存储库 https://github.com/microsoft/winget-cli/ 中提供的一个开源软件。 用于构建客户端的源代码位于 src 文件夹中。

winget 的源代码包含在 Visual Studio 2019 C++ 解决方案中。 若要正确构建解决方案,请安装最新的包含 C++ 工作负荷的 Visual Studio

我们鼓励你为 GitHub 上的 winget 源代码贡献力量。 你必须先同意并签署 Microsoft CLA。

跨平台

sdkman

https://sdkman.io/

1
2
3
4
5
6
sdk install java 8.0.392-tem
sdk install java 11.0.21-tem
sdk install kotlin
sdk install scala
sdk install maven
sdk install gradle

Windows下安装 SDKMAN

官网文档地址:​ ​https://sdkman.io/install​​

总体来讲,Windows下安装需要有 bash 环境,需要 WSL or MSYS + MinGW。

这里我使用了 MSYS2,并去激活 sdkman。

1
2
3
curl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"
sdk version

参考

scoop,一条命令安装 windows 软件 - 掘金
https://juejin.cn/post/7125209151151538184