## 環境變量
你可以設置一些環境變量來覆蓋某些設置。但盡可能在?`composer.json` 的 `config` 項中設置。值得注意的是環境變量的優先級高于?`composer.json` 中的定義。
### COMPOSER#
設置?COMPOSER?變量可以指定別的 `composer.json`?文件名。
例如:
```
COMPOSER=composer-other.json php composer.phar install
```
在這個例子中,生成的 `lock `文件會使用此名稱`?composer-other.lock`。
### COMPOSER_ROOT_VERSION#
在根依賴版本不能從 VCS 中猜測或沒有在?`composer.json` 文件中列出的時候,通過設置此變量你可以指定其版本。
### COMPOSER_VENDOR_DIR#
通過設置此變量你可以讓 Composer 將依賴文件安裝在其他目錄而非?`vendor`。
### COMPOSER_BIN_DIR#
通過設置此變量你可以改變?`bin?(Vendor Binaries) `目錄的位置而非?`vendor/bin`。
### http_proxy 或 HTTP_PROXY#
如果你在 HTTP 代理下使用 Composer,你可以使用標準的?`http_proxy?`或`?HTTP_PROXY`?環境變量。簡單地把它設置成代理的地址。其實一些操作系統已經為你設置好了。
使用`?http_proxy?`(小寫字母)或大小寫都是用甚至會更好,因為一些工具像` git`、`curl `等等只會使用小寫的`?http_proxy` 。除此之外你也可以這樣為 Git 設置代理?`git config --global http.proxy <proxy url>`。
如果你在非 CLI 環境中使用 Composer(比如 CMS 集成環境或類似) 并且也需要設置代理,那請用`?CGI_HTTP_PROXY`?變量來替代。詳見?httpoxy.org。
### no_proxy 或 NO_PROXY#
如果你正在使用 HTTP 代理并且想要為一些域名禁用代理,你可以設置?`no_proxy`?或`?NO_PROXY`?環境變量。簡單地把它設置為逗號分隔的你 不想要 走代理的域名。
次環境變量接收值為域名、IP 地址以及在 CIDR 中被屏蔽的 IP。你可以指定過濾特定端口(例如` :80`)。你也可以將它設置為` *` 通配符來為所有的 HTTP 請求禁用代理。
### HTTP_PROXY_REQUEST_FULLURI#
如果你正在使用代理但它不支持` request_fulluri` 參數,那你應該將此變量設置為?`false`?或`?0`?以避免 Composer 設置 `request_fulluri `參數。
### HTTPS_PROXY_REQUEST_FULLURI#
如果你正在使用代理但它不支持為 HTTPS 請求設置` request_fulluri `參數,那你應該將此變量設置為?`false`?或`?0?`以避免 Composer 設置 `request_fulluri `參數。
### COMPOSER_HOME#
`COMPOSER_HOME?`變量允許你更改` Composer `主目錄。這是個隱藏的并且在計算機里每個用戶的` Home` 目錄下的目錄,所有項目都可以共享此目錄。
默認它會指向 `Windows`` 的?C:\Users\<user>\AppData\Roaming\Composer?`以及 `OSX `的?`/Users/<user>/.composer?`目錄。在遵守?`XDG Base Directory Specifications` 的` *nix `系統中,它指向`?$XDG_CONFIG_HOME/composer`。 在其他的 `*nix `系統 中,它指向`?/home/<user>/.composer`。
### COMPOSER_HOME/config.json#
你可以將?config.json?文件放置在?`COMPOSER_HOME`?變量指向的位置。這樣在運行`?install`?和?`update`?命令的時候 Composer 會將這個文件中的設置項與當前目錄的 `composer.json` 文件中的合并。
此文件允許你為用戶項目設置?`repositories`?和?`configuration`?中的設置內容。
一旦 全局 設置項與?本地?相同,本地 項目中?composer.json?的設置項總會是優先被使用的。
### COMPOSER_CACHE_DIR#
`COMPOSER_CACHE_DIR?`允許你設置 `Composer `的緩存路徑,此設置也可以用?`cache-dir?`選項來設置。
默認他會指向` *nix` 和` OSX` 的`?$COMPOSER_HOME/cache?`,以及 `WIndows` 的?`C:\Users\<user>\AppData\Local\Composer?`(或?`%LOCALAPPDATA%/Composer`)。
### COMPOSER_PROCESS_TIMEOUT#
此變量控制 Composer 執行命令(比如 Git 命令)直到完成的超時時間。默認是 300 秒(5 分鐘)。
### COMPOSER_CAFILE#
你可以設置此變量來指定 SSL/TLS 驗證的 = 使用證書的路徑。
### COMPOSER_AUTH#
`COMPOSER_AUTH?`允許你以變量的形式設置驗證。變量值應該是 JSON 格式,包含 http-basic,github-oauth,bitbucket-oauth 等等。 其內容遵守 spec from the config。
### COMPOSER_DISCARD_CHANGES#
此變量控制?`discard-changes `設置項。
### COMPOSER_NO_INTERACTION#
如果它被設為` 1`,其效果就像在執行每個命令時都加了`?--no-interaction?`參數。可以在 構建系統以及` CI `系統中設置。
### COMPOSER_ALLOW_SUPERUSER#
如果它被設為 `1`,則以后使用 `root `身份運行命令時不會收到警告。它也會禁止自動清理 `sudo` 會話,所以你應該只在完全使用` root `身份執行命令(例如在 `Docker` 容器中)時設置此項。
### COMPOSER_MEMORY_LIMIT#
設置此項會像 PHP 的 `memory_limit` 參數一樣起作用。
### COMPOSER_MIRROR_PATH_REPOS#
如果設為 `1`, 會把默認倉庫路徑的策略從`?symlink` 改為 `mirror`。但即使它被設置了,也會被倉庫自己的設置項覆蓋。
### COMPOSER_HTACCESS_PROTECT#
默認是?`1`。如果設為`?0`,`Composer `不會在主目錄、緩存目錄以及其他數據目錄創建`?.htaccess `文件。
- composer教程文檔
- Composer 的常用命令
- 鏡像操作
- 教程收集
- composer命令
- 全局選項
- init命令
- 安裝命令
- update命令
- require命令
- remove命令
- check-platform-reqs
- globa命令
- search命令
- show命令
- outdated命令
- Options命令
- browse / home命令
- suggests命令
- depends (why)命令
- prohibits (why-not)命令
- validate驗證命令
- status狀態命令
- self-update (selfupdate)
- config命令
- create-project命令
- dump-autoload (dumpautoload)
- clear-cache (clearcache)
- licenses命令
- run-script命令
- exec命令
- diagnose命令
- archive命令
- help命令
- 環境變量
- composer.json說明
- composer.json示例1
- 自制composer包
- 制作步驟1、生成composer包
- 制作步驟2:生成目錄結構
- 制作步驟3:完善程序
- 制作步驟4:上傳程序包
- 示例:手把手教你發布自己的 Composer 包
- 示例:一步一步創建自己的composer包
- 實例2
- 鏡像與常用包
- 中國鏡像
- 常用包收集
- composer包的使用
- 包的使用
- 本地自定義文件的使用