Composer 官方提供了 Win 系統專案的相當方便的 Setup安裝檔,下面僅列出過程畫面比較特別需要說明的部分。
選擇 PHP.exe 執行位置
如果 PHP 伺服器啟用中,在預設情況下,系統會自動偵測你已安裝的 PHP 位置,並將安裝路徑帶入。如果安裝程式選擇的位置不正確的話,可以勾選「Choose a diffevent php.exe from the one in your path.」來選擇你實際安裝的正確 php.exe 位置。
安裝檢測警告
Composer 會試著檢測 PHP 是否符合所需要環境,圖中就是提醒使用者 PHP 的 openssl extension 未啟用,必需從 php.ini 那邊啟用,事實上 Composer 除了會使用到 opensll 外,也會使用到 curl ,所以可以一併將兩個開啟。這邊要特別注意的是,如果你安裝了像筆者一樣的 PHP 懶人包 WAMP,可以從網友阿恆的文章「在 WampServer 安裝 PEAR」第 9 點發現,它的 php.ini 有兩個位置,當你使用命令列的方式使用 php.exe 時,它將使用位置在 C:\wamp\bin\php\php5.3.13\php.ini
的設定檔。而一般透過 Apache 網頁伺服器時,則是使用位置在 C:\wamp\bin\apache\apache2.2.22\bin\php.ini
的設定檔。Composer 是以命令列的方式執行 php.exe,所以記得要同時修改兩個地方的 php.ini 設定檔。
測試安裝結果
安裝完畢後,建議重新開機(或登出再登入)後,開啟「所有程式 > 附屬應用程式 > 命令提示字元」(或是在搜尋欄直接輸入 cmd),接著在命令列輸入指令 Composer -V
,如果有出現版本亂數序號,表示安裝成功。
Git 支援確認
透過 Composer 安裝套件時,有些套件會使用 git 的方式去抓取原始碼,所以在完成 Composer 安裝的同時,務必也要安裝 git 版本控制軟體。如果你已經安裝 git 了,但在命令列執行指令 git --version
卻出現「’git’ 不是內部或外部指令、可執行的程式或批次檔」,表示未將 git 的路徑加至系統環境變數中,這時候你可以透過指令 setx GITPATH "C:\Program Files (x86)\Git\bin"
,接著 setx PATH "%GITPATH%;%PATH%"
來重新註冊 git 路徑到系統環境變數中,接著重新開啟命令列視窗再試看看。
Github Oauth 支援
登入 Github 帳戶,然後從 (已被官方移至) Settings > Personal access tokens > Generate new token
Settings > Developer settings > Personal access tokens
產生一組專用的 token 碼。然後透過 composer config --global github-oauth.github.com <token>
設為全域使用。(※ 如何在 cmd 視窗進行貼上字串?方法:alt + space(空白鍵),會跳出一個功能選單,再從「編輯 > 貼上」即可)或是將 token 碼直接寫進 composer.json 中
{
"config": {
"github-oauth": {
"github.com": "<token>"
}
}
}
這樣一來每次 composer update
的時候,就不會每次都詢問你的 token 位置在哪裡了
SVN 支援確認
既然有些套件會使用 git 的方式去抓取原始碼,當然有些套件也會使用 svn 去抓取原始碼。我們必需先下載安裝 SVN (Win32Svn) ,在安裝完畢後,在命令列執行指令 svn --version
來檢查 svn 是否有正確安裝,如果出現「’svn’ 不是內部或外部指令、可執行的程式或批次檔」,表示未將 svn 的路徑加至系統環境變數中,這時候一樣透過指令 setx SVNPATH "C:\Program Files (x86)\Subversion\bin"
,接著 setx PATH "%SVNPATH%;%PATH%"
重新註冊 svn 路徑到系統環境變數中,並重新開啟命令列視窗。
追加
有時候一些套件會寫自己專用的 installer ,所以記得要也補進系統變數中,例如 Laravel Installer
%USERPROFILE%\AppData\Roaming\Composer\vendor\bin
注意
- 如果你同時要設定 Git 和 Svn,那麼最後應該要設定
setx PATH "%GITPATH%;%SVNPATH%;%PATH%"
的指令才會合併兩個變數。 - PATH 有長度限制,詳細請參考保哥文章 關於 PATH 環境變數過長而導致命令提示字元下無法執行特定程式的問題
- 有一套在 Window 系統管理環境的好工具叫做 Rapid Environment Editor