date
Apr 4, 2022
slug
chocolatey-package-manager-of-windows
status
Published
tags
Windows
套件管理
Chocolatey
adb
summary
事不過三的 Windows 軟體安裝困擾
type
Post
category
技術分享
icon
🍅 of writing
3
Chocolatey
Chocolatey 是一個Windows下的軟體套件管理器,讓使用者可以像在類Unix系統中使用Yum和APT一樣使用它,在Windows中實現自動化輕鬆管理Windows軟體的所有方面(安裝,組態,升級和解除安裝)。
使用命令提示字元 cmd 安裝
@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
想先看看有哪些軟體可以用?
Why Choco?
早些年前有試用 choco,當時看起來沒有什麼東西可以裝,
加上工作時通常都使用 Linux,用個兩三次就忘記它了😇
只有在 Windows 上因為安裝東西困擾時,才會想到似乎有這麼一個神器
懶
比如我臨時突然有檔案分享的需求,但是電腦上卻沒有任何能作為臨時伺服器的程式(如
PHP
nodejs
),為了安裝 PHP
- 訪問對應官網 https://php.net
- 找到下載頁面與所需版本
- 下載並管理,解壓到自己所需的目錄
- 然後打開 cmd 後不能無法快樂的
php command
,因為沒有加入環境變數
- 可以
- 跳轉到 php 目錄後執行
- 手動加入環境變數,重開機或重新登入
# cmd, 變更當前 %PATH% 來觸發 Windows 環境變數刷新
:set PATH=C:
# reopen cmd and check
echo %PATH%
有時候就會有個想法,重開機就輸了!
注意以上方法 cmder 不適用,個人推測原因是: cmder 的分頁 cmd 是繼承母程序 cmder 的環境變數,如果要以上方式嘗試,需要重啟 cmder
不同軟體的重複相依,造成衝突
ADB
Windows 下許多軟體,不管是安裝或自解檔,會將相依的程式與打包在一起
比如我分享過 Android 遠端操控 Scrcpy | QtScrcpy | Sndcpy
其中 Windows 版本的
QtScrcpy
就包含了 adb.exe
簡單來說,adb 會將不同版本啟動的 adb server,視為不同的 adb 程序
所以在運行時會殺掉舊的 server,並啟動自己版的 adb sereer
如果多個程序自帶 adb 並依賴 adb,那麼就打架囉
策略
接下來的安裝策略是,能託管 choco 的就託管吧!
已託管
‣
- adb
- php
- git
- telegram
choco list -lo