您好,登录后才能下订单哦!
这篇文章主要介绍composer中命令\参数\说明的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
curl -sS https://getcomposer.org/installer | php
或者
php -r "readfile('https://getcomposer.org/installer');" | php
全局安装
mv composer.phar /usr/local/bin/composer
composer config -g repo.packagist composer https://packagist.phpcomposer.com
composer install/update --ignore-platform-reqs
安装插件包?
composer global require "fxp/composer-asset-plugin:1.2.0“
create-project
你可以使用 Composer 从现有的包中创建一个新的项目。这相当于执行了一个 git clone
或 svn checkout
命令后将这个包的依赖安装到它自己的 vendor 目录。
此命令有几个常见的用途:
你可以快速的部署你的应用。
你可以检出任何资源包,并开发它的补丁。
多人开发项目,可以用它来加快应用的初始化。
要创建基于 Composer 的新项目,你可以使用 "create-project" 命令。传递一个包名,它会为你创建项目的目录。你也可以在第三个参数中指定版本号,否则将获取最新的版本。
如果该目录目前不存在,则会在安装过程中自动创建。
php composer.phar create-project doctrine/orm path 2.2.*
此外,你也可以无需使用这个命令,而是通过现有的 composer.json
文件来启动这个项目。
默认情况下,这个命令会在 packagist.org 上查找你指定的包。
--repository-url: 提供一个自定义的储存库来搜索包,这将被用来代替 packagist.org。可以是一个指向 composer
资源库的 HTTP URL,或者是指向某个 packages.json
文件的本地路径。
--stability (-s): 资源包的最低稳定版本,默认为 stable
。
--prefer-source: 当有可用的包时,从 source
安装。
--prefer-dist: 当有可用的包时,从 dist
安装。
--dev: 安装 require-dev
字段中列出的包。
--no-install: 禁止安装包的依赖。
--no-plugins: 禁用 plugins。
--no-scripts: 禁止在根资源包中定义的脚本执行。
--no-progress: 移除进度信息,这可以避免一些不处理换行的终端或脚本出现混乱的显示。
--keep-vcs: 创建时跳过缺失的 VCS 。如果你在非交互模式下运行创建命令,这将是非常有用的。
self-update
将 Composer 自身升级到最新版本,只需要运行 self-update
命令。它将替换你的 composer.phar
文件到最新版本。
php composer.phar self-update
如果你想要升级到一个特定的版本,可以这样简单的指定它:
php composer.phar self-update 1.0.0-alpha7
如果你已经为整个系统安装 Composer(参见 全局安装),你可能需要在 root
权限下运行它:
sudo composer self-update
--rollback (-r): 回滚到你已经安装的最后一个版本。
--clean-backups: 在更新过程中删除旧的备份,这使得更新过后的当前版本是唯一可用的备份。
search
search
命令允许你为当前项目搜索依赖包,通常它只搜索 packagist.org 上的包,你可以简单的输入你的搜索条件。
php composer.phar search monolog
您也可以通过传递多个参数来进行多条件搜索。
--only-name (-N): 仅针对指定的名称搜索(完全匹配)。
require
require
命令增加新的依赖包到当前目录的 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 一并更新新装包的依赖。
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 可以获得更快的加载支持。特别是在生产环境下建议这么做,但由于运行需要一些时间,因此并没有作为默认值。
--lock: 仅更新 lock 文件的 hash,取消有关 lock 文件过时的警告。
--with-dependencies 同时更新白名单内包的依赖关系,这将进行递归更新。
install
install
命令从当前目录读取 composer.json
文件,处理了依赖关系,并把其安装到 vendor
目录下。
php composer.phar install
如果当前目录下存在 composer.lock
文件,它会从此文件读取依赖版本,而不是根据 composer.json
文件去获取依赖。这确保了该库的每个使用者都能得到相同的依赖版本。
如果没有 composer.lock
文件,composer 将在处理完依赖关系后创建它。
--prefer-source: 下载包的方式有两种: source
和 dist
。对于稳定版本 composer 将默认使用 dist
方式。而 source
表示版本控制源 。如果 --prefer-source
是被启用的,composer 将从 source
安装(如果有的话)。如果想要使用一个 bugfix 到你的项目,这是非常有用的。并且可以直接从本地的版本库直接获取依赖关系。
--prefer-dist: 与 --prefer-source
相反,composer 将尽可能的从 dist
获取,这将大幅度的加快在 build servers 上的安装。这也是一个回避 git 问题的途径,如果你不清楚如何正确的设置。
--dry-run: 如果你只是想演示而并非实际安装一个包,你可以运行 --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 可以获得更快的加载支持。特别是在生产环境下建议这么做,但由于运行需要一些时间,因此并没有作为默认值。
以上是“composer中命令\参数\说明的示例分析”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。