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 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常用的一些命令\参数\说明的更多相关文章
- ubuntu下常用的apt-get 命令参数
apt-cache search package 搜索包 apt-cache show package 获取包的相关信息,如说明.大小.版本等 sudo apt-get install package ...
- 常用cl编译命令参数解释
紧接前文,第一行cl命令如下: 1> cl /c /IC:\...\include /ZI /nologo- /W3 /WX- /sdl /Od /Oy- /D WIN32 /D _DEBUG ...
- Ubuntu 清除缓存 apt-get命令参数
整理了Ubuntu Linux操作系统下apt-get命令的详细说明,分享给大家.常用的APT命令参数:apt-cache search package 搜索包apt-cache show packa ...
- ubuntu下apt-get 命令参数
转载:https://blog.csdn.net/linuxzhouying/article/details/7192612 ubuntu下apt-get 命令参数 常用的APT命令参数 apt-ca ...
- Ubuntu下deb包的解压、打包、安装、卸载及常用命令参数
1.首先下载deb包,比如:将其放在 /home/tools/ 根目录下: 2.进入到tools根目录下的终端,输入下面命令创建文件夹extract,并在extract文件夹下创建DEBIAN文件夹 ...
- 009_npm常用命令参数总结
npm是什么 NPM的全称是Node Package Manager,是随同NodeJS一起安装的包管理和分发工具,它很方便让JavaScript开发者下载.安装.上传以及管理已经安装的包. 一.np ...
- 10个常用的ps命令总结,参数
Linux系统中10个常用的ps命令总结 PS 命令是什么 查看它的man手册可以看到,ps命令能够给出当前系统中进程的快照.它能捕获系统在某一事件的进程状态.如果你想不断更新查看的这个状态,可以使用 ...
- mongod 命令常用参数 mongod常用命令参数大全
成功启动MongoDB后,再打开一个命令行窗口输入mongo,就可以进行数据库的一些操作.输入help可以看到基本操作命令,只是MongoDB没有创建数据库的命令,但有类似的命令 mongod.exe ...
- maven常用命令参数
整理了一些maven常用命令参数,以便参考:参考了maven官网和网上其他一些maven追随者的文件,不在此一一列举,但表示感谢! mvn命令参数 mvn -v, --version 显示版本信息; ...
随机推荐
- Angular4中使用后台去数据,Swiper不能滑动的解决方法(一)
Swiper是目前较为流行的移动端触摸滑动插件,因为其简单好用易上手,很受很多设计师的欢迎. 今天在使用Swiper的时候遇到这个问题: 使用angularjs动态循环生成swiper-slide ...
- 2018-2019-2 网络对抗技术 20165305 Exp1 PC平台逆向破解
2018-2019-2 网络对抗技术 20165305 Exp1 PC平台逆向破解 实验1-1直接修改程序机器指令,改变程序执行流程 先输入objdump -d 20165305pwn2查看反汇编代码 ...
- Java8比较器(Lamdba)
1.首先构造一个实体以便示例使用 public class Developer { private String name; private BigDecimal salary; private in ...
- 【WEB】带边框的网页页面实现
前言 这是编程入学者尝试各种技术的备忘记录和自我激励,内容非常简单而单纯. 正文 成品 样式参考 http://tenhou.net/ 上边框 http://tenhou.net/img/f0t ...
- php 随机红包算法
<?php /** * 红包分配算法 * * example * $coupon = new Coupon(200, 5); * $res = $coupon->handle(); * p ...
- Codeforces 101623E English Restaurant - 动态规划
题目传送门 传送门 题目大意 餐厅有$n$张桌子,第$i$张桌子可以容纳$c_i$个人,有$t$组客人,每组客人的人数等概率是$[1, g]$中的整数. 每来一组人数为$x$客人,餐厅如果能找到最小的 ...
- {408} client block at 0x005D4D10, subtype 0, 64 bytes long.a CButton object at $005D4D10, 64 bytes long
现象:mfc动态生成了很多控件,new的,退出时也delet了,但是还是出现了标题的错误 解决:在任何可以执行的地方加代码: CMFCVisualManager ::SetDefaultManager ...
- linux编译链接找不到库文件的解决方法。
今天编译出现ld: 0706-006 Cannot find or open library file: -l xerces-c_static,ld:open(): A file or directo ...
- mysql中data和datatime的区别
1.显示格式的区别 Date显示格式:YYYY-MM-DD:DateTime显示格式:YYYY-MM-DD HH:mm:ss. 2.显示范围的区别 Date显示范围是1601-01-01 到 9999 ...
- 无法启动iis express web 服务器
删除项目文件夹下的隐藏文件夹 (.vs)文件