## 环境变量
你可以设置一些环境变量来覆盖某些设置。但尽可能在 `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包的使用
- 包的使用
- 本地自定义文件的使用