首页 文章

作曲家更新和作曲家安装之间有什么区别?

提问于
浏览
121

composer updatecomposer install 之间有什么区别?

4 回答

  • 52

    composer update

    composer update 将更新您在 composer.json 中指定的依赖性

    例如,如果您需要此包作为依赖项:

    "mockery/mockery": "0.9.*",
    

    并且您实际上已经安装了包的 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文件中的相同依赖项 .

  • 216

    当你运行composer install时,它会查找一个锁文件并安装其中包含的内容,如果它找不到它会读取composer.json,安装它的依赖项并生成一个lockfile .

    当你运行composer update时,它只需读取composer.json,安装依赖项并更新lockfile(或创建一个新的lockfile) .

  • 1

    作曲家安装

    • 如果确实存在 composer.lock .

    • 处理并安装 composer.lock 文件中的依赖项 .

    • 如果 composer.lock 确实存在 not .

    • 流程包从 composer.json 安装 .

    • 根据已安装的包创建 composer.lock 文件 .

    根据: composer help install

    install命令从当前目录中读取composer.lock文件,对其进行处理,并下载并安装该文件中列出的所有库和依赖项 . 如果该文件不存在,它将查找composer.json并执行相同操作 .


    作曲家更新

    • 处理 composer.json 文件中的依赖项(安装,更新和删除) .

    • 根据更改创建或更新 composer.lock 文件 .

    根据: composer help update

    update命令从当前目录中读取composer.json文件,对其进行处理,并更新,删除或安装所有依赖项 .


    另见:Composer: It’s All About the Lock File

  • 16

    composer updatecomposer 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

    • Twig将被删除所有依赖项

相关问题