This commit is contained in:
成武 2014-01-31 01:09:29 +08:00
parent f76612ea1b
commit 68b67e0034
4 changed files with 46 additions and 45 deletions

View File

@ -118,7 +118,7 @@
<a name="Stability"></a>
### 稳定性
默认情况下只有稳定的发行版才会被考虑在内。如果你也想获得 RC、beta、alpha 或 dev 版本,你可以使用 [稳定标志](04-schema.md#package-links)。你可以对所有的包做 [最小稳定性](04-schema.md#minimum-stability) 设置,而不是每个依赖逐一设置。
默认情况下只有稳定的发行版才会被考虑在内。如果你也想获得 RC、beta、alpha 或 dev 版本,你可以使用 [稳定标志](04-schema.md#Package-links)。你可以对所有的包做 [最小稳定性](04-schema.md#minimum-stability) 设置,而不是每个依赖逐一设置。
<a name="Installing-Dependencies"></a>
## 安装依赖关系
@ -158,7 +158,7 @@
$ php composer.phar update monolog/monolog [...]
> **注意:** 对于库,并不一定建议提交锁文件
> 请参考:[库的锁文件](02-libraries.md#lock-file).
> 请参考:[库的锁文件](02-libraries.md#Lock-file).
<a name="Packagist"></a>
## Packagist

View File

@ -6,19 +6,19 @@
---
- [库(资源包)](#Libraries)
- [每一个项目都是一个包](#Every project is a package)
- [平台软件包](#Platform packages)
- [指明版本](#Specifying the version)
- [每一个项目都是一个包](#Every-project-is-a-package)
- [平台软件包](#Platform-packages)
- [指明版本](#Specifying-the-version)
- [标签](#Tags)
- [分支](#Branches)
- [别名](#Aliases)
- [锁文件](#Lock file)
- [发布到 VCS线上版本控制系统](#Publishing to a VCS)
- [发布到 packagist](#Publishing to packagist)
- [锁文件](#Lock-file)
- [发布到 VCS线上版本控制系统](#Publishing-to-a-VCS)
- [发布到 packagist](#Publishing-to-packagist)
---
<a name="Every project is a package"></a>
<a name="Every-project-is-a-package"></a>
## 每一个项目都是一个包
只要你有一个 `composer.json` 文件在目录中,那么整个目录就是一个包。当你添加一个 `require` 到项目中,你就是在创建一个依赖于其它库的包。你的项目和库之间唯一的区别是,你的项目是一个没有名字的包。
@ -38,7 +38,7 @@
> 那么使用你 github 上的用户名通常是不错的选择。
> 虽然包名不区分大小写,但惯例是使用小写字母,并用连字符作为单词的分隔。
<a name="Platform packages"></a>
<a name="Platform-packages"></a>
## 平台软件包
Composer 将那些已经安装在系统上,但并不是由 Composer 安装的包视为一个虚拟的平台软件包。这包括PHP本身PHP扩展和一些系统库。
@ -47,15 +47,16 @@ Composer 将那些已经安装在系统上,但并不是由 Composer 安装的
* `ext-<name>` 可以帮你指定需要的 PHP 扩展(包括核心扩展)。通常 PHP 拓展的版本可以是不一致的,将它们的版本约束为 `*` 是一个不错的主意。一个 PHP 扩展包的例子:包名可以写成 `ext-gd`
* `lib-<name>` 允许对 PHP 库的版本进行限制。以下是可供使用的名称:`curl`、`iconv`、`libxml`、`openssl`、`pcre`、`uuid`、`xsl`。
* `lib-<name>` 允许对 PHP 库的版本进行限制。
以下是可供使用的名称:`curl`、`iconv`、`libxml`、`openssl`、`pcre`、`uuid`、`xsl`。
你可以使用 `composer show --platform` 命令来获取可用的平台软件包的列表。
<a name="Specifying the version"></a>
<a name="Specifying-the-version"></a>
## 指明版本
你需要一些方法来指明自己开发的包的版本,当你在 Packagist 上发布自己的包,它能够从 VCS (git, svn,
hg) 的信息推断出包的版本,因此你不必手动指明版本号,并且也不建议这样做。请查看 [标签](#标签) 和 [分支](#分支) 来了解版本号是如何被提取的。
hg) 的信息推断出包的版本,因此你不必手动指明版本号,并且也不建议这样做。请查看 [标签](#Tags) 和 [分支](#Branches) 来了解版本号是如何被提取的。
如果你想要手动创建并且真的要明确指定它,你只需要添加一个 `version` 字段:
@ -80,7 +81,7 @@ hg) 的信息推断出包的版本,因此你不必手动指明版本号,并
v2.0.4-p1
> **注意:** 即使你的标签带有前缀 `v`
> 由于在需要 `require` 一个[版本的约束](01-basic-usage.md#包版本)时是不允许这种前缀的,
> 由于在需要 `require` 一个[版本的约束](01-basic-usage.md#Package-Versions)时是不允许这种前缀的,
> 因此 `v` 将被省略(例如标签 `V1.0.0` 将创建 `1.0.0` 版本)。
<a name="Branches"></a>
@ -104,14 +105,14 @@ hg) 的信息推断出包的版本,因此你不必手动指明版本号,并
详细请查看[“别名”](articles/aliases.md)。
<a name="Lock file"></a>
<a name="Lock-file"></a>
## 锁文件
如果你愿意,可以在你的项目中提交 `composer.lock` 文件。他将帮助你的团队始终针对同一个依赖版本进行测试。任何时候,这个锁文件都只对于你的项目产生影响。
如果你不想提交锁文件,并且你正在使用 Git那么请将它添加到 `.gitignore` 文件中。
<a name="Publishing to a VCS"></a>
<a name="Publishing-to-a-VCS"></a>
## 发布到 VCS线上版本控制系统
一旦你有一个包含 `composer.json` 文件的库存储在线上版本控制系统例如Git你的库就可以被 Composer 所安装。在这个例子中,我们将 `acme/hello-world` 库发布在 GitHub 上的 `github.com/username/hello-world` 中。
@ -142,13 +143,13 @@ hg) 的信息推断出包的版本,因此你不必手动指明版本号,并
}
}
更多关于包的来源是如何工作的,以及还有什么其他的类型可供选择,请查看[来源](05-repositories.md)。
更多关于包的来源是如何工作的,以及还有什么其他的类型可供选择,请查看[资源库](05-repositories.md)。
这就是全部了。你现在可以使用 Composer 的 `install` 命令来安装你的依赖关系了!
**小结:** 任何含有 `composer.json``GIT`、`SVN`、`HG` 存储库,都可以通过 `require` 字段指定“包来源”和“声明依赖”来添加到你的项目中。
<a name="Publishing to packagist"></a>
<a name="Publishing-to-packagist"></a>
## 发布到 packagist
好的,你现在可以发布你的包了,但你不会希望你的用户每次都这样繁琐的指定包的来源。

View File

@ -1,4 +1,4 @@
<a name="Command-line interface"></a>
<a name="Command-line-interface"></a>
# 命令行
你已经学会了如何使用命令行界面做一些事情。本章将向你介绍所有可用的命令。
@ -7,9 +7,9 @@
---
- [命令行](#Command-line interface)
- [全局参数](#Global Options)
- [进程退出代码](#Process Exit Codes)
- [命令行](#Command-line-interface)
- [全局参数](#Global-Options)
- [进程退出代码](#Process-Exit-Codes)
- [初始化 `init`](#init) - - [参数](#init-Options)
- [安装 `install`](#install) - - [参数](#install-Options)
- [更新 `update`](#update) - - [参数](#update-Options)
@ -21,7 +21,7 @@
- [有效性检测 `validate`](#validate)
- [依赖包状态检测 `status`](#status)
- [自我更新 `self-update`](#self-update) - - [参数](#self-update-Options)
- [更改配置 `config`](#config) - - [使用方法](#config-Usage) - - [参数](#config-Options) - - [修改包来源](#Modifying Repositories)
- [更改配置 `config`](#config) - - [使用方法](#config-Usage) - - [参数](#config-Options) - - [修改包来源](#Modifying-Repositories)
- [创建项目 `create-project`](#create-project) - - [参数](#create-project-Options)
- [打印自动加载索引 `dump-autoload`](#dump-autoload) - - [参数](#dump-autoload-Options)
- [查看许可协议 `licenses`](#licenses)
@ -29,24 +29,24 @@
- [诊断 `diagnose`](#diagnose)
- [归档 `archive`](#archive) - - [参数](#archive-Options)
- [获取帮助信息 `help`](#help)
- [环境变量](#Environment variables)
- [COMPOSER](#COMPOSER)
- [COMPOSER_ROOT_VERSION](#COMPOSER_ROOT_VERSION)
- [COMPOSER_VENDOR_DIR](#COMPOSER_VENDOR_DIR)
- [COMPOSER_BIN_DIR](#COMPOSER_BIN_DIR)
- [http_proxy or HTTP_PROXY](#http_proxy or HTTP_PROXY)
- [no_proxy](#no_proxy)
- [HTTP_PROXY_REQUEST_FULLURI](#HTTP_PROXY_REQUEST_FULLURI)
- [HTTPS_PROXY_REQUEST_FULLURI](#HTTPS_PROXY_REQUEST_FULLURI)
- [COMPOSER_HOME](#COMPOSER_HOME)
- [COMPOSER_HOME/config.json](#COMPOSER_HOME-config.json)
- [COMPOSER_CACHE_DIR](#COMPOSER_CACHE_DIR)
- [COMPOSER_PROCESS_TIMEOUT](#COMPOSER_PROCESS_TIMEOUT)
- [COMPOSER_DISCARD_CHANGES](#COMPOSER_DISCARD_CHANGES)
- [COMPOSER_NO_INTERACTION](#COMPOSER_NO_INTERACTION)
- [环境变量](#Environment-variables)
- [COMPOSER](#COMPOSER)
- [COMPOSER_ROOT_VERSION](#COMPOSER_ROOT_VERSION)
- [COMPOSER_VENDOR_DIR](#COMPOSER_VENDOR_DIR)
- [COMPOSER_BIN_DIR](#COMPOSER_BIN_DIR)
- [http_proxy or HTTP_PROXY](#http_proxy-or-HTTP_PROXY)
- [no_proxy](#no_proxy)
- [HTTP_PROXY_REQUEST_FULLURI](#HTTP_PROXY_REQUEST_FULLURI)
- [HTTPS_PROXY_REQUEST_FULLURI](#HTTPS_PROXY_REQUEST_FULLURI)
- [COMPOSER_HOME](#COMPOSER_HOME)
- [COMPOSER_HOME/config.json](#COMPOSER_HOME-config.json)
- [COMPOSER_CACHE_DIR](#COMPOSER_CACHE_DIR)
- [COMPOSER_PROCESS_TIMEOUT](#COMPOSER_PROCESS_TIMEOUT)
- [COMPOSER_DISCARD_CHANGES](#COMPOSER_DISCARD_CHANGES)
- [COMPOSER_NO_INTERACTION](#COMPOSER_NO_INTERACTION)
---
<a name="Global Options"></a>
<a name="Global-Options"></a>
## 全局参数
下列参数可与每一个命令结合使用:
@ -64,7 +64,7 @@
* **--no-ansi:** 关闭 ANSI 输出。
* **--version (-V):** 显示当前应用程序的版本信息。
<a name="Process Exit Codes"></a>
<a name="Process-Exit-Codes"></a>
## 进程退出代码
* **0:** 正常
@ -319,7 +319,7 @@
* **--list (-l):** 显示当前配置选项的列表。当存在 `--global` 参数时,将会显示全局配置选项的列表。
* **--file="..." (-f):** 在一个指定的文件上操作,而不是 composer.json。注意不能与 `--global` 参数一起使用。
<a name="Modifying Repositories"></a>
<a name="Modifying-Repositories"></a>
### 修改包来源
除了修改配置选项, `config` 命令还支持通过以下方法修改来源信息:
@ -410,7 +410,7 @@
$ php composer.phar help install
<a name="Environment variables"></a>
<a name="Environment-variables"></a>
## 环境变量
你可以设置一些环境变量来覆盖默认的配置。建议尽可能的在 `composer.json``config` 字段中设置这些值,而不是通过命令行设置环境变量。值得注意的是环境变量中的值,将始终优先于 `composer.json` 中所指定的值。
@ -439,7 +439,7 @@
通过设置这个环境变量,你可以指定 `bin`[Vendor Binaries](articles/vendor-binaries.md))目录到 `vendor/bin` 以外的其它目录。
<a name="http_proxy or HTTP_PROXY"></a>
<a name="http_proxy-or-HTTP_PROXY"></a>
### http_proxy or HTTP_PROXY
如果你是通过 HTTP 代理来使用 Composer你可以使用 `http_proxy``HTTP_PROXY` 环境变量。只要简单的将它设置为代理服务器的 URL。许多操作系统已经为你的服务设置了此变量。

View File

@ -19,7 +19,7 @@
- [许可协议 `license`](#license)
- [作者 `authors`](#authors)
- [支持 `support`](#support)
- [Package links](#Package links)
- [Package links](#Package-links)
- [require](#require)
- [require-dev <span>(root-only)</span>](#require-dev)
- [conflict](#conflict)
@ -263,7 +263,7 @@ composer 原生支持以下4种类型
可选。
<a name="Package links"></a>
<a name="Package-links"></a>
### Package links
下面提到的所有对象,都应该是 包名 到 [版本](01-basic-usage.md#包版本) 的映射对象。