omposer命令行手册

在线工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器

install - 解析依赖关系并安装依赖包

composer的install子命令读取当前目录中的composer.json文件,解析依赖关系 并把这些依赖包安装到vendor目录下。

如果当前目录存在 composer.lock 文件,composer install命令则会利用此文件 读取依赖项的精确版本,而不是解析 composer.json文件。这确保了当前PHP包的用户 都可以使用相同的依赖项。

如果当前目录没有 composer.lock 文件,composer intall命令将在依赖关系解析 之后创建该文件。

命令调用

php composer.phar install

缩略形式:

php composer.phar i

命令选项

  • --prefer-source: 下载包的方式有两种: source 和 dist。稳定版本的composer 默认使用 dist 方式。 source 表示使用包的版本控制仓库 。如果启用--prefer-source选项, 那么composer 将从 source 安装 —— 如果存在的话。source方式有助于项目的bug修复,可以直接获取依赖项的本地克隆。
  • --prefer-dist: 与 --prefer-source 相反,composer 将尽可能的从 dist 获取,这可以显著提高在构建 服务器上的安装速度,也无需git配置。
  • --dry-run: 如果你只是想测试安装流程而非实际安装一个包,可以使用 --dry-run选项,它将模拟安装 过程并显示过程中的输出信息。
  • --dev: 安装在配置文件中require-dev 字段列出的包,这是默认行为
  • --no-dev: 忽略 require-dev 字段中列出的包。自动加载器的生成会忽略autoload-dev规则。
  • --no-autoloader:忽略自动加载器的生成处理。
  • --no-scripts:忽略 composer.json 文件中定义的脚本执行规则。
  • --no-progress: 不显示安装进度信息,这可以避免一些终端或脚本由于未正确处理回退(backspace)而导致的显示混乱
  • --no-suggest: 不显示建议安装的包
  • --optimize-autoloader (-o): 将PSR-0/4 自动加载转换为 classmap以获得更快的自动加载器。 尤其建议在生产环境使用这一优化选项。不过启用该选项将运行更长时间,因此当前没有作为默认行为。
  • --classmap-authoritative (-a):仅从classmap自动加载PHP类。该选项将隐含启用--optimize-autoloader选项
  • --apcu-autoloader:使用 APCu来缓存找到或缺失的PHP类
  • --ignore-platform-reqs:忽略需要的php, hhvm, lib- 以及 ext-等依赖并强制安装,即使本地机器没有 满足对这些平台组件的要求。