摘要:模擬命令,并沒有做實際的操作。申明依賴命令增加新的依賴包到當前目錄的文件中。你甚至可以輸入一個軟件包的版本號,來顯示該版本的詳細信息。你也可以在第三個參數中指定版本號,否則將獲取最新的版本。
原文地址 : composer 命令行
全局參數下列參數可與每一個命令結合使用:
--verbose (-v): 增加反饋信息的詳細度。
-v 表示正常輸出。
-vv 表示更詳細的輸出。
-vvv 則是為了 debug。
--help (-h): 顯示幫助信息。
--quiet (-q): 禁止輸出任何信息。
--no-interaction (-n): 不要詢問任何交互問題。
--working-dir (-d): 如果指定的話,使用給定的目錄作為工作目錄。
--profile: 顯示時間和內存使用信息。
--ansi: 強制 ANSI 輸出。
--no-ansi: 關閉 ANSI 輸出。
--version (-V): 顯示當前應用程序的版本信息。
進程退出代碼0: 正常
1: 通用/未知錯誤
2: 依賴關系處理錯誤
初始化 init在 “庫” 那一章我們看到了如何手動創(chuàng)建 composer.json 文件。實際上還有一個 init 命令可以更容易的做到這一點。
當您運行該命令,它會以交互方式要求您填寫一些信息,同時聰明的使用一些默認值。
php composer.phar init初始化-參數
--name: 包的名稱。
--description: 包的描述。
--author: 包的作者。
--homepage: 包的主頁。
--require: 需要依賴的其它包,必須要有一個版本約束。并且應該遵循 foo/bar:1.0.0 這樣的格式。
--require-dev: 開發(fā)版的依賴包,內容格式與 --require 相同。
--stability (-s): minimum-stability 字段的值。
安裝 installinstall 命令從當前目錄讀取 composer.json 文件,處理了依賴關系,并把其安裝到 vendor 目錄下。
php composer.phar install
如果當前目錄下存在 composer.lock 文件,它會從此文件讀取依賴版本,而不是根據 composer.json 文件去獲取依賴。這確保了該庫的每個使用者都能得到相同的依賴版本。
如果沒有 composer.lock 文件,composer 將在處理完依賴關系后創(chuàng)建它。
安裝-參數--prefer-source: 下載包的方式有兩種: source 和 dist。對于穩(wěn)定版本 composer 將默認使用 dist方式。而 source 表示版本控制源 。如果 --prefer-source 是被啟用的,composer 將從 source 安裝(如果有的話)。如果想要使用一個 bugfix 到你的項目,這是非常有用的。并且可以直接從本地的版本庫直接獲取依賴關系。
--prefer-dist: 與 --prefer-source 相反,composer 將盡可能的從 dist 獲取,這將大幅度的加快在 build servers 上的安裝。這也是一個回避 git 問題的途徑,如果你不清楚如何正確的設置。
--dry-run: 如果你只是想演示而并非實際安裝一個包,你可以運行 --dry-run 命令,它將模擬安裝并顯示將會發(fā)生什么。
--dev: 安裝 require-dev 字段中列出的包(這是一個默認值)。
--no-dev: 跳過 require-dev 字段中列出的包。
--no-scripts: 跳過 composer.json 文件中定義的腳本。
--no-plugins: 關閉 plugins。
--no-progress: 移除進度信息,這可以避免一些不處理換行的終端或腳本出現混亂的顯示。
--optimize-autoloader (-o): 轉換 PSR-0/4 autoloading 到 classmap 可以獲得更快的加載支持。特別是在生產環(huán)境下建議這么做,但由于運行需要一些時間,因此并沒有作為默認值。
更新 update為了獲取依賴的最新版本,并且升級 composer.lock 文件,你應該使用 update 命令。
php composer.phar update
這將解決項目的所有依賴,并將確切的版本號寫入 composer.lock。
如果你只是想更新幾個包,你可以像這樣分別列出它們:
php composer.phar update vendor/package vendor/package2
你還可以使用通配符進行批量更新:
php composer.phar update vendor/*更新-參數
--prefer-source: 當有可用的包時,從 source 安裝。
--prefer-dist: 當有可用的包時,從 dist 安裝。
--dry-run: 模擬命令,并沒有做實際的操作。
--dev: 安裝 require-dev 字段中列出的包(這是一個默認值)。
--no-dev: 跳過 require-dev 字段中列出的包。
--no-scripts: 跳過 composer.json 文件中定義的腳本。
--no-plugins: 關閉 plugins。
--no-progress: 移除進度信息,這可以避免一些不處理換行的終端或腳本出現混亂的顯示。
--optimize-autoloader (-o): 轉換 PSR-0/4 autoloading 到 classmap 可以獲得更快的加載支持。特別是在生產環(huán)境下建議這么做,但由于運行需要一些時間,因此并沒有作為默認值。
--lock: 僅更新 lock 文件的 hash,取消有關 lock 文件過時的警告。
--with-dependencies 同時更新白名單內包的依賴關系,這將進行遞歸更新。
申明依賴 requirerequire 命令增加新的依賴包到當前目錄的 composer.json 文件中。
php composer.phar require
在添加或改變依賴時, 修改后的依賴關系將被安裝或者更新。
如果你不希望通過交互來指定依賴包,你可以在這條令中直接指明依賴包。
php composer.phar require vendor/package:2.* vendor/package2:dev-master申明依賴-參數
--prefer-source: 當有可用的包時,從 source 安裝。
--prefer-dist: 當有可用的包時,從 dist 安裝。
--dev: 安裝 require-dev 字段中列出的包。
--no-update: 禁用依賴關系的自動更新。
--no-progress: 移除進度信息,這可以避免一些不處理換行的終端或腳本出現混亂的顯示。
--update-with-dependencies 一并更新新裝包的依賴。
全局執(zhí)行 globalglobal 命令允許你在 COMPOSER_HOME 目錄下執(zhí)行其它命令,像 install、require 或 update。
并且如果你將 $COMPOSER_HOME/vendor/bin 加入到了 $PATH 環(huán)境變量中,你就可以用它在命令行中安裝全局應用,下面是一個例子:
php composer.phar global require fabpot/php-cs-fixer:dev-master
現在 php-cs-fixer 就可以在全局范圍使用了(假設你已經設置了你的 PATH)。如果稍后你想更新它,你只需要運行 global update:
php composer.phar global update搜索 search
search 命令允許你為當前項目搜索依賴包,通常它只搜索 packagist.org 上的包,你可以簡單的輸入你的搜索條件。
php composer.phar search monolog
您也可以通過傳遞多個參數來進行多條件搜索。
搜索-參數--only-name (-N): 僅針對指定的名稱搜索(完全匹配)。
展示 show列出所有可用的軟件包,你可以使用 show 命令。
php composer.phar show
如果你想看到一個包的詳細信息,你可以輸入一個包名稱。
php composer.phar show monolog/monolog name : monolog/monolog versions : master-dev, 1.0.2, 1.0.1, 1.0.0, 1.0.0-RC1 type : library names : monolog/monolog source : [git] http://github.com/Seldaek/monolog.git 3d4e60d0cbc4b888fe5ad223d77964428b1978da dist : [zip] http://github.com/Seldaek/monolog/zipball/3d4e60d0cbc4b888fe5ad223d77964428b1978da 3d4e60d0cbc4b888fe5ad223d77964428b1978da license : MIT autoload psr-0 Monolog : src/ requires php >=5.3.0
你甚至可以輸入一個軟件包的版本號,來顯示該版本的詳細信息。
php composer.phar show monolog/monolog 1.0.2展示-參數
--installed (-i): 列出已安裝的依賴包。
--platform (-p): 僅列出平臺軟件包(PHP 與它的擴展)。
--self (-s): 僅列出當前項目信息。
依賴性檢測 dependsdepends 命令可以查出已安裝在你項目中的某個包,是否正在被其它的包所依賴,并列出他們。
php composer.phar depends --link-type=require monolog/monolog nrk/monolog-fluent poc/poc propel/propel symfony/monolog-bridge symfony/symfony依賴性檢測-參數
--link-type: 檢測的類型,默認為 require 也可以是 require-dev。
有效性檢測 validate在提交 composer.json 文件,和創(chuàng)建 tag 前,你應該始終運行 validate 命令。它將檢測你的 composer.json 文件是否是有效的
php composer.phar validate有效性檢測參數
--no-check-all: Composer 是否進行完整的校驗。
依賴包狀態(tài)檢測 status如果你經常修改依賴包里的代碼,并且它們是從 source(自定義源)進行安裝的,那么 status 命令允許你進行檢查,如果你有任何本地的更改它將會給予提示。
php composer.phar status
你可以使用 --verbose 系列參數(-v|vv|vvv)來獲取更詳細的詳細:
php composer.phar status -v You have changes in the following dependencies: vendor/seld/jsonlint: M README.mdown自我更新 self-update
將 Composer 自身升級到最新版本,只需要運行 self-update 命令。它將替換你的 composer.phar 文件到最新版本。
php composer.phar self-update
如果你想要升級到一個特定的版本,可以這樣簡單的指定它:
php composer.phar self-update 1.0.0-alpha7
如果你已經為整個系統(tǒng)安裝 Composer(參見 全局安裝),你可能需要在 root 權限下運行它:
sudo composer self-update自我更新-參數
--rollback (-r): 回滾到你已經安裝的最后一個版本。
--clean-backups: 在更新過程中刪除舊的備份,這使得更新過后的當前版本是唯一可用的備份。
更改配置 configconfig 命令允許你編輯 Composer 的一些基本設置,無論是本地的 composer.json 或者全局的 config.json 文件。
php composer.phar config --list更改配置-使用方法
config [options] [setting-key] [setting-value1] ... [setting-valueN]
setting-key 是一個配置選項的名稱,setting-value1 是一個配置的值。可以使用數組作為配置的值(像 github-protocols),多個 setting-value 是允許的。
有效的配置選項,請查看“架構”章節(jié)的 config 。
更改配置-參數--global (-g): 操作位于 $COMPOSER_HOME/config.json 的全局配置文件。如果不指定該參數,此命令將影響當前項目的 composer.json 文件,或 --file 參數所指向的文件。
--editor (-e): 使用文本編輯器打開 composer.json 文件。默認情況下始終是打開當前項目的文件。當存在 --global 參數時,將會打開全局 composer.json 文件。
--unset: 移除由 setting-key 指定名稱的配置選項。
--list (-l): 顯示當前配置選項的列表。當存在 --global 參數時,將會顯示全局配置選項的列表。
--file="..." (-f): 在一個指定的文件上操作,而不是 composer.json。注意:不能與 --global 參數一起使用。
修改包來源除了修改配置選項, config 命令還支持通過以下方法修改來源信息:
php composer.phar config repositories.foo vcs http://github.com/foo/bar創(chuàng)建項目 create-project
你可以使用 Composer 從現有的包中創(chuàng)建一個新的項目。這相當于執(zhí)行了一個 git clone 或 svn checkout命令后將這個包的依賴安裝到它自己的 vendor 目錄。
此命令有幾個常見的用途:
你可以快速的部署你的應用。
你可以檢出任何資源包,并開發(fā)它的補丁。
多人開發(fā)項目,可以用它來加快應用的初始化。
要創(chuàng)建基于 Composer 的新項目,你可以使用 "create-project" 命令。傳遞一個包名,它會為你創(chuàng)建項目的目錄。你也可以在第三個參數中指定版本號,否則將獲取最新的版本。
如果該目錄目前不存在,則會在安裝過程中自動創(chuàng)建。
php composer.phar create-project doctrine/orm path 2.2.*
此外,你也可以無需使用這個命令,而是通過現有的 composer.json 文件來啟動這個項目。
默認情況下,這個命令會在 packagist.org 上查找你指定的包。
創(chuàng)建項目-參數--repository-url: 提供一個自定義的儲存庫來搜索包,這將被用來代替 packagist.org。可以是一個指向 composer 資源庫的 HTTP URL,或者是指向某個 packages.json 文件的本地路徑。
--stability (-s): 資源包的最低穩(wěn)定版本,默認為 stable。
--prefer-source: 當有可用的包時,從 source 安裝。
--prefer-dist: 當有可用的包時,從 dist 安裝。
--dev: 安裝 require-dev 字段中列出的包。
--no-install: 禁止安裝包的依賴。
--no-plugins: 禁用 plugins。
--no-scripts: 禁止在根資源包中定義的腳本執(zhí)行。
--no-progress: 移除進度信息,這可以避免一些不處理換行的終端或腳本出現混亂的顯示。
--keep-vcs: 創(chuàng)建時跳過缺失的 VCS 。如果你在非交互模式下運行創(chuàng)建命令,這將是非常有用的。
打印自動加載索引 dump-autoload某些情況下你需要更新 autoloader,例如在你的包中加入了一個新的類。你可以使用 dump-autoload 來完成,而不必執(zhí)行 install 或 update 命令。
此外,它可以打印一個優(yōu)化過的,符合 PSR-0/4 規(guī)范的類的索引,這也是出于對性能的可考慮。在大型的應用中會有許多類文件,而 autoloader 會占用每個請求的很大一部分時間,使用 classmaps 或許在開發(fā)時不太方便,但它在保證性能的前提下,仍然可以獲得 PSR-0/4 規(guī)范帶來的便利。
打印自動加載索引-參數--optimize (-o): 轉換 PSR-0/4 autoloading 到 classmap 獲得更快的載入速度。這特別適用于生產環(huán)境,但可能需要一些時間來運行,因此它目前不是默認設置。
--no-dev: 禁用 autoload-dev 規(guī)則。
查看許可協(xié)議 licenses列出已安裝的每個包的名稱、版本、許可協(xié)議。可以使用 --format=json 參數來獲取 JSON 格式的輸出。
執(zhí)行腳本 run-script你可以運行此命令來手動執(zhí)行 腳本,只需要指定腳本的名稱,可選的 --no-dev 參數允許你禁用開發(fā)者模式。
診斷 diagnose如果你覺得發(fā)現了一個 bug 或是程序行為變得怪異,你可能需要運行 diagnose 命令,來幫助你檢測一些常見的問題。
php composer.phar diagnose歸檔 archive
此命令用來對指定包的指定版本進行 zip/tar 歸檔。它也可以用來歸檔你的整個項目,不包括 excluded/ignored(排除/忽略)的文件。
php composer.phar archive vendor/package 2.0.21 --format=zip歸檔-參數
--format (-f): 指定歸檔格式:tar 或 zip(默認為 tar)。
--dir: 指定歸檔存放的目錄(默認為當前目錄)。
獲取幫助信息 help使用 help 可以獲取指定命令的幫助信息。
php composer.phar help install環(huán)境變量
你可以設置一些環(huán)境變量來覆蓋默認的配置。建議盡可能的在 composer.json 的 config 字段中設置這些值,而不是通過命令行設置環(huán)境變量。值得注意的是環(huán)境變量中的值,將始終優(yōu)先于 composer.json 中所指定的值。
COMPOSER環(huán)境變量 COMPOSER 可以為 composer.json 文件指定其它的文件名。
例如:
COMPOSER=composer-other.json php composer.phar installCOMPOSER_ROOT_VERSION
通過設置這個環(huán)境變量,你可以指定 root 包的版本,如果程序不能從 VCS 上猜測出版本號,并且未在 composer.json 文件中申明。
COMPOSER_VENDOR_DIR通過設置這個環(huán)境變量,你可以指定 composer 將依賴安裝在 vendor 以外的其它目錄中。
COMPOSER_BIN_DIR通過設置這個環(huán)境變量,你可以指定 bin(Vendor Binaries)目錄到 vendor/bin 以外的其它目錄。
http_proxy or HTTP_PROXY如果你是通過 HTTP 代理來使用 Composer,你可以使用 http_proxy 或 HTTP_PROXY 環(huán)境變量。只要簡單的將它設置為代理服務器的 URL。許多操作系統(tǒng)已經為你的服務設置了此變量。
建議使用 http_proxy(小寫)或者兩者都進行定義。因為某些工具,像 git 或 curl 將使用 http_proxy 小寫的版本。另外,你還可以使用 git config --global http.proxy
如果你是使用代理服務器,并且想要對某些域名禁用代理,就可以使用 no_proxy 環(huán)境變量。只需要輸入一個逗號相隔的域名 排除 列表。
此環(huán)境變量接受域名、IP 以及 CIDR地址塊。你可以將它限制到一個端口(例如::80)。你還可以把它設置為 * 來忽略所有的 HTTP 代理請求。
HTTP_PROXY_REQUEST_FULLURI如果你使用了 HTTP 代理,但它不支持 request_fulluri 標簽,那么你應該設置這個環(huán)境變量為 false 或 0 ,來防止 composer 從 request_fulluri 讀取配置。
HTTPS_PROXY_REQUEST_FULLURI如果你使用了 HTTPS 代理,但它不支持 request_fulluri 標簽,那么你應該設置這個環(huán)境變量為 false 或 0 ,來防止 composer 從 request_fulluri 讀取配置。
COMPOSER_HOMECOMPOSER_HOME 環(huán)境變量允許你改變 Composer 的主目錄。這是一個隱藏的、所有項目共享的全局目錄(對本機的所有用戶都可用)。
它在各個系統(tǒng)上的默認值分別為:
*nix /home/
OSX /Users/
Windows C:Users
你可以在 COMPOSER_HOME 目錄中放置一個 config.json 文件。在你執(zhí)行 install 和 update 命令時,Composer 會將它與你項目中的 composer.json 文件進行合并。
該文件允許你為用戶的項目設置 配置信息 和 資源庫。
若 全局 和 項目 存在相同配置項,那么項目中的 composer.json 文件擁有更高的優(yōu)先級。
COMPOSER_CACHE_DIRCOMPOSER_CACHE_DIR 環(huán)境變量允許你設置 Composer 的緩存目錄,這也可以通過 cache-dir 進行配置。
它在各個系統(tǒng)上的默認值分別為:
*nix and OSX $COMPOSER_HOME/cache。
Windows C:Users
這個環(huán)境變量控制著 Composer 執(zhí)行命令的等待時間(例如:git 命令)。默認值為300秒(5分鐘)。
COMPOSER_DISCARD_CHANGES這個環(huán)境變量控制著 discard-changes config option。
COMPOSER_NO_INTERACTION如果設置為1,這個環(huán)境變量將使 Composer 在執(zhí)行每一個命令時都放棄交互,相當于對所有命令都使用了 --no-interaction。可以在搭建 虛擬機/持續(xù)集成服務器 時這樣設置。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/25753.html
摘要:是組件的依賴管理器,它在命令行中使用。廠商名和包名只是為了讓識別組件,而命名空間則是需要在代碼中使用組件。至此,我們的組件就發(fā)布成功了。總結以上就是關于安裝使用以及發(fā)布的介紹。 原文是在我自己博客中,小伙伴也可以點閱讀原文進行跳轉查看,還有好聽的背景音樂噢~ showImg(https://www.cxiansheng.cn/usr/uploads/2017/11/905996380....
摘要:此時,可以構建映像,并將其部署為容器。從執(zhí)行以下操作以上命令將使用文件中定義的端口,構建對應鏡像和部署成為容器。 showImg(https://segmentfault.com/img/remote/1460000010122752); 數人云之前分享了《如何用Docker實現PHP命令行程序的CI/CD》,詳細地介紹了整體過程中的思路以及以及注意事項,今天帶來的文章將闡述怎樣部署一...
摘要:編輯器使用教程月號發(fā)布的這個擴展,好多朋友使用起來有一些問題,好吧,都怪我安裝使用說明寫的不清楚今天給大家補一篇詳細的安裝說明文檔項目地址求求求求求此處省略一萬字功能圖片上傳語法解析為編輯器該有的功能都有還有誰還有誰預覽安裝在的里面加 laravel 5 Markdown 編輯器使用教程 5月18號發(fā)布的這個擴展,好多朋友使用起來有一些問題,好吧,都怪我安裝使用說明寫的不清楚└(^o...
摘要:本篇,我們就在自己的項目中使用來進行依賴管理。輸入,即可安裝依賴到目錄中,并且自動生成和。安裝依賴,提示從提示可以看出,讀取的是中的依賴,而不是最新的。訪問,正常工作。源碼分享書簽從零開始打造自己的框架中文網中文文檔 Composer Composer 是 PHP5.3以上 的一個依賴管理工具。它允許你申明項目所依賴的代碼庫,它會在你的項目中為你安裝他們。Composer 不是一個包管...
摘要:原文發(fā)表在我的個人網站系列入門教程一最適合中國人的教程本教程示例代碼見大家在任何地方卡住,最快捷的解決方式就是去看我的示例代碼。在此我推薦一個全量中國鏡像。 原文發(fā)表在我的個人網站:Laravel 5 系列入門教程(一)【最適合中國人的 Laravel 教程】 本教程示例代碼見:https://github.com/johnlui/Learn-Laravel-5 大...
閱讀 3274·2021-09-30 09:47
閱讀 2290·2021-09-10 10:51
閱讀 1889·2021-09-08 09:36
閱讀 2926·2019-08-30 12:56
閱讀 3027·2019-08-30 11:16
閱讀 2622·2019-08-29 16:40
閱讀 2994·2019-08-29 15:25
閱讀 1632·2019-08-29 11:02