windows choco


路徑(二):更好的安裝軟件的方法(Windows:Chocolatey,Mac:Homebrew)

你決定要把 Web 當成自己的事業,並且已經開始學習了。你聽到的,看到的,或者自己感覺的,很可能是錯的。一開始,我們就用更好的方法去學習與做事,會節省很多時間,也能減輕痛苦。找不到方向,不知道從哪里下手,今天就跟寧皓一起,一切都在這里開始:)

遇到的問題

學習 Web 設計與開發得去安裝很多軟件,Git,Node,Ruby,Virtualbox,Vagrant,Atom,Brackets,Chrome...  有些軟件是你要直接用的,有些是其它軟件所依賴的。安裝這些東西,你得先找到它們的官方網站,然后下載適合自己系統的版本,雙擊安裝,Next,Next,下一步,下一步  ...  完成!安裝完以后,你發現還不能用,因為你不知道這個軟件還需要你去安裝一個其它的東西。

解決的方法

正確的做法是使用包管理工具(Package Manager)去管理這些軟件,這里說的是操作系統級別的包管理工具,也就是管理想要安裝到操作系統上的軟件的工具。在以后,你還會聽到項目級別的包管理,比如前端項目用的 Bower ,還有管理 NodeJS 包的 npm 。

包管理工具,可以讓我們用幾個簡單的命令去安裝,升級,還有刪除軟件,並且它會自動給我們解決軟件之間的依賴的問題。

Windows 用戶可以使用 Chocolatey 這個包管理工具,Mac 用戶可以使用 Homebrew 。

連接不上...

在下載東西的時候,如果出現網絡連接的錯誤,一般就是 “網絡問題”,給寬帶服務商打電話沒有用,你得自己准備 “梯子”。

Chocolatey

Windows 需要安裝一下 Chocolatey,然后再用 Chocolatey 去管理需要安裝到系統上的軟件,這些可以安裝的軟件叫做包( Package )。

  • 在命令行工具下面安裝 Chocolatey,通過命令提示符(cmd),或者 Powershell。
  • choco search 去搜索想要的包,用 -all 參數會顯示所有可用的版本。
  • choco install 安裝包,用 -version 參數可以安裝指定版本的包。
  • choco upgrade 把安裝的包升級成最新的版本。
  • choco uninstall 從電腦上刪除已經安裝的包,刪除前用 choco version 命令查看指定包的是否有可用的更新。

安裝 Chocolatey

安裝 Chocolatey,只需要在 Windows 系統的命令行工具下面去執行一行命令,這個命令行工具可以是 命令提示符(cmd),也可以是 Powershell ,只需要在其中的一個上面安裝 Chocolatey 就可以了。你要用管理員的身份去運行命令行工具,不然會遇到權限問題。

以管理員身份打開命令行工具

Windows 7:點擊 開始 菜單,在搜索框里輸入 cmd 或者 powershell ,找到以后,用鼠標右鍵點擊它們,選擇 以管理員身份運行。

Windows 8 + :使用快捷鍵 win + Q ,搜索 cmd 或者 powershell ,然后右鍵點擊它們,在窗口下面,選擇 以管理員身份運行。

在 命令提示符 上安裝 Chocolatey

@powershell -NoProfile -ExecutionPolicy unrestricted -Command "iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))" && SET PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin

在 Powershell 上安裝 Chocolatey

iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))

 提示:如果是在 Powershell 下面安裝 Chocolatey 之前,先修改一下 Powershell 的執行策略,不然會出現 “此系統中禁止執行腳本” 這樣的錯誤,解決的方法是執行下面的命令,意思就是把執行的策略設置成不限制:

Set-ExecutionPolicy unrestricted

測試 

在命令行工具的下面,輸入:

choco help

如果出現一些有用的幫助信息,比如 Chocolatey 的版本號,安裝到的目錄,相關的命令,還有示例等等,這就說明我們已經可以在系統上使用 Chocolatey 了。

使用 Chocolatey

用 Chocolatey 做的事都是通過在命令行工具里面輸入命令去做的,查看這些命令可以在使用 choco help 這個命令,Chocolatey 的命令都是用 choco 開頭,后面接着是更具體的子命令,比如 install 就是去安裝點什么,update 是去升級指定的包,uninstall 是把包從電腦上刪除掉。

搜索

在 Chocolatey 的官方網站上(https://chocolatey.org/packages),可以查看所有可以使用 Chocolatey 安裝的東西,或者也可以在命令行工具的下面去搜索想要安裝的東西:

choco search <keyword>

跟 search 命令功能類似的還有 list 命令:

choco list <keyword>

比如搜索一下 nodeJS 相關的包,可以這樣:

choco search nodeJS

上面的命令會在返回所以跟 nodeJS 相關的包,想要查看這些包所有的可用的版本,可以在命令的后面加上一個 -all 參數:

choco search nodeJS -all

包的類型

  • * (例:nodejs,git)
  • *.install (例:nodejs.install,git.install)
  • *.commandline(例:nodejs.commandline,未來會被拋棄)
  • *.portable(例:putty.portable)

Chocolatey 的包有不同的類型,有些包的名字里面會包含特殊的后綴,比如 .install ,.commandline,.portable ,有些包的名字不帶這些后綴。

安裝帶 .install 后綴的包,這個包會出現在系統控制面板里的 卸載或更改程序 里面,你可以把 .install 的包想成是通過安裝程序(msi)安裝的包。

.commandline(未來會被拋棄) 與 .portable 后綴的包是壓縮包(zip),安裝這種后綴的包,你不能在 卸載或更改程序 里找到它們。

你也可以選擇不帶后綴的包,這樣如果系統中已經安裝了這個包,就會跳過去,如果沒安裝,Chocolatey 就會為你安裝一個,默認安裝的這個包的類型應該就是 .install 后綴的包。

安裝

安裝包,用的是 choco install 命令,把想要安裝的包的名字放到 install 的后面,想一次去安裝多個包,可以在 install 命令后面添加一個包的名字的列表,不同的包之間用空格分隔開。

choco install <package1 package2 package3...>

比如我們想去安裝一個 cURL 工具,安裝之前可以先用 search 命令搜索一下,搜索的時候加上 -all 參數,會顯示出包的所有可用的版本,在安裝的時候,你可以在 -version 參數的后面,指定一個具體要安裝的版本,不使用 -version 參數,直接安裝會安裝包的最新發布的版本。

choco search curl -all

會返回一個列表:

...
 curl 7.21.7 curl 7.22.0 curl 7.23.1 curl 7.25.0 curl 7.28.1 ...

下面我們故意去安裝一個舊版本的 curl , 一會兒再去升級一下它。比如我要安裝的是 7.22.0 版本的 curl :

choco install curl -version 7.22.0

Chocolatey 不僅可以給我們安裝指定版本的包,它還能解決包的依賴問題,也就是,如果你安裝的這個包需要其它的包提供的功能,Chocolatey 會自動給你安裝這個依賴的包。

安裝以后,可以用 choco list 命令,加上一個 -localonly 或 -lo(簡寫形式) 參數,查看在本地安裝的包的列表。

choco list -localonly

升級

升級安裝在本地電腦上的包,用的是 choco upgrade 命令,后面加上要升級的包的名字:

choco  upgrade <package>

在升級包之前,可以先先去查看一下有沒有可用的升級。如果你想查看 Chocolatey 本身有沒有可用的升級,執行命令:

choco version

在 choco version 命令的后面,輸入具體的包的名字,可以查看指定的這個包有沒有可用的新版本。比如查看一下前面我們安裝的 cURL 這個小東西的升級:

choco version curl

返回的結果看起來是這樣的:

name       : curl found : 7.22.0 ... latest : 7.28.1 ... 

name 對應的是包的名字,found 后面是安裝在本地電腦上的版本,latest 后面是最新的可用的版本。這里 cURL 這個包的最新版本是 7.28.1 ,比我們安裝的版本要新,所以可以去升級一下它。

choco  upgrade curl

cURL 是一個命令行工具,所以在命令行工具的下面,查看這個小工具的版本可以這樣:

curl -version

上面命令會返回當前安裝在電腦上的 cURL 的版本,你會發現,它已經被 Chocolatey  升級成最新的版本了。

刪除

想要刪除掉用 Chocolatey 安裝的包,用的是 choco uninstall ,后面加上要卸載或者刪除掉的包的名字。

choco uninstall <package>

在刪除包之前,可以查看一下所有安裝在本地的包的列表:

choco list -localonly

比如我們要刪除掉之前安裝的 cURL 這個包:

choco uninstall curl

成功以后,再查看一下安裝在本地的包的列表,已經看不到 cURL 了。

Homebrew

Mac 上面有 App Store,它像是一個圖形界面的包管理工具,也可以很方便的管理系統上的軟件。不過很多軟件你是在 App Store 上面找不到的,所以,可以通過 Homebrew 這個包管理工具,在命令行下面去管理軟件。這些能夠使用 Homebrew 安裝的東西叫做  Package,在 Homebrew 里面,Package 還有個名字叫 Formula 。

  • 在終端上執行安裝 Homebrew 的命令。
  • man brew 可以查看 brew 命令的使用手冊。
  • brew search 去搜索一下想要安裝的東西。
  • brew install 可以安裝指定的包。
  • brew upgrade 可以升級包。
  • brew remote 刪除掉不需要的包。

安裝 Homebrew

打開 Mac 自帶的終端,可以在 Launchpad(F4)里面搜索 Terminal(終端),然后執行下面的命令:

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

安裝完成以后,執行 brew help,如果返回一些有用的幫助信息,說明可以在我們的電腦上使用 Homebrew 去管理軟件了。

brew help

使用 Homebrew

Homebrew 的命令都是用 brew 開頭,后面接着是具體的命令。比如 brew help 可以查看幫助信息,brew install 可以去安裝包,brew upgrade 可以升級已經安裝的包。

查看使用手冊

要查看 Homebrew 所有可用的命令還有幫助的信息,在終端上執行 man brew 這條命令,man 就是 manpage (參考頁),在 man 命令后面加上要查看使用手冊的命令的名字。

man brew

要顯示的內容如果很多,就會分頁顯示,有幾個按鍵可以去瀏覽這些內容:

  • f 向后翻頁
  • b 向前翻頁
  • q 退出顯示

搜索

搜索可以使用 Homebrew 安裝的東西,用的是 brew search,后面加上搜索的關鍵詞。

brew search <keyword>

比如搜索一下 tree 這個小工具:

brew search tree

上面的命令會列出包含 tree 這個關鍵詞的包,要查看某個包的所有可用的版本,可以使用 brew versions,后面加上包的名字,像這樣:

brew versions tree
brew versions 不在被支持了,可以使用: https://github.com/Homebrew/homebrew-versions

訪問這個包的主頁可以使用 brew home 這個命令,再加上包的名字,這樣可以在瀏覽器中打開包的主頁:

brew home tree

安裝

安裝包用的是 brew install ,一般用 Homebrew 安裝的東西都是一些命令行的工具,這些工具大部分都是開發的時候要用的,不過你會看到一些 Cask 開頭的包,Cask 擴展了 Homebrew ,它可以讓我們用 Homebrew 去安裝一些帶圖形界面的軟件,比如 Chrome 瀏覽器。

brew install <package>

下面我們用這個命令去安裝一個叫 tree 的小工具:

brew install tree

完成以后,在終端上輸入:

tree --help

如果你能看到一些有用的幫助信息,說明已經可以使用 tree 這個工具了。想查看一下使用 brew 安裝的東西,輸入:

brew list

在返回的安裝的包的列表里,你應該可以找到剛才用 brew install 安裝的 tree 。

升級

升級 Homebrew 本身,用的是 brew update 命令,如果你要升級的是已經安裝的包,可以使用 brew upgrade,后面不加具體的要升級的包,Homebrew 會去升級所有的包,也可以在后面指定某個要升級的包。

brew upgrade <package>

比如去升級一下上面安裝的 tree,可以先看一下這個包有沒有可用的更新。

brew outdated

如果有,就可以去升級一下它:

brew upgrade tree

刪除

刪除使用 Homebrew 安裝的包,用的是 brew remove ,后面加上要刪除的包的名字。

brew remove <package>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM