composer update 和 composer install 之间有什么区别?
composer update
composer install
composer update 将更新您在 composer.json 中指定的依赖性
composer.json
例如,如果您需要此包作为依赖项:
"mockery/mockery": "0.9.*",
并且您实际上已经安装了包的 0.9.1 版本,运行 composer update 将导致此包的升级(例如,如果已经发布,则为 0.9.2 )
0.9.1
0.9.2
详情 composer update 将:
阅读 composer.json
删除 composer.json 中不再需要的已安装软件包
检查所需软件包的最新版本的可用性
安装最新版本的软件包
更新 composer.lock 以存储已安装的软件包版本
composer.lock
composer install 不会更新任何内容;它将只安装 composer.lock 文件中指定的所有依赖项
详细地:
检查 composer.lock 文件是否存在(如果不存在,运行 composer-update 并创建它)
composer-update
阅读 composer.lock 文件
安装 composer.lock 文件中指定的包
When to install and when to update
composer update 主要用于'development phase',根据我们在 composer.json 文件中指定的内容升级我们的项目包,
composer install 主要用于'deploying phase',用于在 生产环境 服务器或测试环境中安装我们的应用程序,使用存储在composer update创建的composer.lock文件中的相同依赖项 .
当你运行composer install时,它会查找一个锁文件并安装其中包含的内容,如果它找不到它会读取composer.json,安装它的依赖项并生成一个lockfile .
当你运行composer update时,它只需读取composer.json,安装依赖项并更新lockfile(或创建一个新的lockfile) .
如果确实存在 composer.lock .
处理并安装 composer.lock 文件中的依赖项 .
如果 composer.lock 确实存在 not .
流程包从 composer.json 安装 .
根据已安装的包创建 composer.lock 文件 .
根据: composer help install :
composer help install
install命令从当前目录中读取composer.lock文件,对其进行处理,并下载并安装该文件中列出的所有库和依赖项 . 如果该文件不存在,它将查找composer.json并执行相同操作 .
处理 composer.json 文件中的依赖项(安装,更新和删除) .
根据更改创建或更新 composer.lock 文件 .
根据: composer help update :
composer help update
update命令从当前目录中读取composer.json文件,对其进行处理,并更新,删除或安装所有依赖项 .
另见:Composer: It’s All About the Lock File
composer update 和 composer install 之间的最佳区别
要添加依赖项,您需要手动将其添加到composer.json文件中 .
如果存在composer.lock文件,请准确安装在此文件上指定的内容
否则,请阅读composer.json文件以查看需要安装的依赖项
使用项目信息编写composer.lock(已安装的依赖项)
使用此命令不会更新任何组件 .
要添加或删除依赖项,需要手动将其添加到composer.json文件中
将忽略composer.lock文件
composer.json文件依赖项将被安装和更新(如果没有安装依赖项,它将被下载)
如果您不能(或者不知道如何添加或删除实际上容易的库,只需在文件的require属性中添加依赖项和版本的名称)手动修改composer.json文件或者您更喜欢使用命令行,composer具有以下特殊功能:
composer require
例如,如果我们想用命令行添加依赖项,我们将简单地执行
composer require twig/twig
将自动修改
composer.json文件,并添加新的依赖项
依赖项将下载到项目中
composer remove
如果要删除未使用的依赖项,我们将简单地执行:
composer remove twig/twig --update-with-dependencies
4 回答
composer update
composer update
将更新您在composer.json
中指定的依赖性例如,如果您需要此包作为依赖项:
并且您实际上已经安装了包的
0.9.1
版本,运行composer update
将导致此包的升级(例如,如果已经发布,则为0.9.2
)详情
composer update
将:阅读
composer.json
删除
composer.json
中不再需要的已安装软件包检查所需软件包的最新版本的可用性
安装最新版本的软件包
更新
composer.lock
以存储已安装的软件包版本composer install
composer install
不会更新任何内容;它将只安装composer.lock
文件中指定的所有依赖项详细地:
检查
composer.lock
文件是否存在(如果不存在,运行composer-update
并创建它)阅读
composer.lock
文件安装
composer.lock
文件中指定的包When to install and when to update
composer update
主要用于'development phase',根据我们在composer.json
文件中指定的内容升级我们的项目包,composer install
主要用于'deploying phase',用于在 生产环境 服务器或测试环境中安装我们的应用程序,使用存储在composer update创建的composer.lock文件中的相同依赖项 .当你运行composer install时,它会查找一个锁文件并安装其中包含的内容,如果它找不到它会读取composer.json,安装它的依赖项并生成一个lockfile .
当你运行composer update时,它只需读取composer.json,安装依赖项并更新lockfile(或创建一个新的lockfile) .
作曲家安装
如果确实存在
composer.lock
.处理并安装
composer.lock
文件中的依赖项 .如果
composer.lock
确实存在 not .流程包从
composer.json
安装 .根据已安装的包创建
composer.lock
文件 .根据:
composer help install
:作曲家更新
处理
composer.json
文件中的依赖项(安装,更新和删除) .根据更改创建或更新
composer.lock
文件 .根据:
composer help update
:另见:Composer: It’s All About the Lock File
composer update
和composer install
之间的最佳区别composer install
要添加依赖项,您需要手动将其添加到composer.json文件中 .
如果存在composer.lock文件,请准确安装在此文件上指定的内容
否则,请阅读composer.json文件以查看需要安装的依赖项
使用项目信息编写composer.lock(已安装的依赖项)
使用此命令不会更新任何组件 .
composer update
要添加或删除依赖项,需要手动将其添加到composer.json文件中
将忽略composer.lock文件
composer.json文件依赖项将被安装和更新(如果没有安装依赖项,它将被下载)
如果您不能(或者不知道如何添加或删除实际上容易的库,只需在文件的require属性中添加依赖项和版本的名称)手动修改composer.json文件或者您更喜欢使用命令行,composer具有以下特殊功能:
composer require
例如,如果我们想用命令行添加依赖项,我们将简单地执行
composer require twig/twig
将自动修改
composer.json文件,并添加新的依赖项
依赖项将下载到项目中
composer remove
如果要删除未使用的依赖项,我们将简单地执行:
composer remove twig/twig --update-with-dependencies