首页 开发工具 composer 关于composer.json中配置信息的介绍

关于composer.json中配置信息的介绍

Oct 12, 2019 pm 02:11 PM
composer

关于composer.json中配置信息的介绍

Config

下面由composer命令使用教程栏目给大家介绍 composer.json 中配置相关的信息。

process-timeout 请求过程超时设置

默认请求超时时间设置为 300 秒 ,像使用 Git 进行 Clone 操作时一样,Composer 可以在请求超时之前一直运行,直到完成安装。如果你的网络速度不够快,或者要加载的内容比较多,可以把超时时间设置的高一些。

use-include-path 使用包含路径设置

默认设置 false,如果设置成 true, Composer 自动加载器会自动查找 PHP 路径中包含的类。

preferred-install 安装首选项设置

默认设置 auto 模式 ,可以设置为 source, dist 或者 auto 模式。这个选项允许你将 Composer 设置为自己喜欢的模式。要进行更精确的安装首选项设置,可以使用哈希模式。

{
    "config": {
        "preferred-install": {
            "my-organization/stable-package": "dist",
            "my-organization/*": "source",
            "partner-organization/*": "auto",
            "*": "dist"
        }
    }
}
登录后复制

请注意:设置选项模式使用的顺序很重要。精确的设置模式应该在宽泛的设置模式之前使用,精确的模式设置才会生效。在全局和包设置中,当混合使用字符串与哈希进行设置时,字符串设置项将转换为 * 模式。

store-auths

认证弹框后采取的动作,有三个选项:

true 永远存储认证信息;

false 不存储认证信息;

"prompt" 每一次都会要求重新验证,此为默认项。

github-protocols

默认为 ["https", "ssh", "git"]。从 github.com 克隆时使用的协议优先级清单,git 协议不是加密传输,所以只有当 secure-http 项设置为关闭时,才会优先使用 git 协议进行克隆。如果你想设置远程 Push URL 使用 HTTPS 协议而非 SSH (git@github.com:...) 协议,你可以只设置 ["https"] ,这样 Composer 就会停止重写 Push URL 为 SSH 协议。

github-oauth

一个域名和 Oauth Keys 的列表。 例如:使用 {"github.com": "oauthtoken"} 作为此选项的值, 将使用 oauthtoken 来访问 github 上的私人仓库,并绕过基于 IP 的 API 使用频率。 点此获取 关于如何获取 GitHub 的 OAuth token。

gitlab-oauth

一个域名和 Oauth Keys 的列表。 例如:使用 {"gitlab.com": "oauthtoken"} 作为此选项的值, 将使用 oauthtoken 来访问 Gitlab 上的私人仓库。请注意:如果你的代码不是托管在 gitlab.com 上的,你还需要配置这个参数 —— gitlab-domains 。

gitlab-token

一个域名和 Private Token 的列表。例如: 使用 {"gitlab.com": "privatetoken"} 作为这个选项的值,将使用 privatetoken 来访问 Gitlab 上的私人仓库。请注意:如果你的代码不是托管在 gitlab.com 上的,你还必须指定这个参数 —— gitlab-domains 。

disable-tls

默认为 false。如果设置为 true,所有的 HTTPS URL 将会被替换成 HTTP,并且网络层加密将不被使用。开启这个选项会有安全风险,所以不建议开启,更好地办法是在 php.ini 中开启 php_openssl 扩展。

secure-http

默认为 true 。如果设置为 true,只有 HTTPS URL 才被允许在 Composer 中使用,如果你真的确定需要使用 HTTP 来访问一些东西,你可以关闭它,但使用 Let's Encrypt 这样的供应商来获得一个免费的 SSL 证书会是一个更好地选择。

bitbucket-oauth

一个域名和使用者名称的列表。比如使用 {"bitbucket.org": {"consumer-key": "myKey", "consumer-secret": "mySecret"}}。 详见 了解如何在 BitBucket 创建一个使用者。

cafile

本地文件系统中认证证书的位置。在 PHP 5.6+ 中你应该在 php.ini 通过 openssl.cafile 来设置,尽管在 PHP 5.6+ 中这会被自动获取。

capath

如果证书文件未指定或在那个位置没找到证书,则系统会在 capath 所指定的文件中查找一个合适的证书。capath 必须是一个存在被正确哈希加密证书的目录。

http-basic

一个域名和存储验证所需用户名密码的列表。例如使用 {"example.org": {"username": "alice", "password": "foo"}} 作为它的值,则会让 Composer 用指定的用户名密码去验证 example.org。

注意:与验证相关的设置项比如 http-basic 和 github-oauth 也可以定义在 auth.json 文件中,脱离 composer.json。通过这样你可以让 Git 忽略它,并且每个开发者可以存储他们自己的验证凭据。

platform

让你伪装平台扩展包(PHP 和 其扩展)以便于模拟生产环境以及在设置中定义你的目标平台。例如:{"php": "7.0.3", "ext-something": "4.0.3"}。

vendor-dir

默认是 vendor。你也可以在一个不同的目录安装所需依赖。$HOME 和 ~ 在 vendor 和下面所有的 *-dir 目录中会被替换成你的 HOME 目录。

bin-dir

默认是 vendor/bin。如果一个项目包含可执行文件,那它们会在这个目录中做符号链接。

data-dir

在 WIndows 中默认是 C:\Users\\AppData\Roaming\Composer,在遵守 XDG 目录定义的 unix 系统中是 $XDG_DATA_HOME/composer,在其他 unix 系统中则会是 $home。现在它只用来存储旧版本的 composer.phar 文件来以防回滚。详见 COMPOSER_HOME。

cache-dir

在 WIndows 中默认是 C:\Users\\AppData\Local\Composer,在遵守 XDG 目录定义的 unix 系统中是 $XDG_CACHE_HOME/composer,在其他 unix 系统中则会是 $home/cache。存储 Composer 用到的所有缓存文件。详见 COMPOSER_HOME。

cache-files-dir

默认是 $cache-dir/files。存储所有扩展包的 ZIP 压缩包。

cache-repo-dir

默认是 $cache-dir/repo。存储 composer 类型仓库的元数据和 svn, fossil, github, bitbucket 类型仓库的 VCS 仓库。

cache-vcs-dir

默认是 $cache-dir/vcs。存储所有 git/hg 类型仓库所克隆的文件以加快安装速度。

cache-files-ttl

默认是 15552000 (6 个月)。Composer 会缓存它下载的所有扩展包构建的文件 (zip, tar, ..) 。默认 6 个月不使用就会被清空。此设置项允许你更改这个过期时间(秒为单位)或设为 0 来完全禁用。

cache-files-maxsize

默认是 300MiB。 Composer 会缓存它下载的所有扩展包构建的文件 (zip, tar, ..) 。这是它在定期执行垃圾回收时允许缓存文件占用的最大空间。更旧或是不经常使用的缓存会被清除。

bin-compat

默认是 auto。决定了可执行文件安装时需要的兼容性。如果设为 auto,则在 Windows 中只会安装 .bat 文件。如果设为 full 那么除了 .bat,unix 系统所需要的脚本文件也会被安装。这主要是为了处理执行 Composer 和项目运行所在系统不一致的情况。

prepend-autoloader

默认是 true。如果设为 false,Composer 的自动加载器则不会预载入到已存在的自动加载器中。这有时可以用来修复一些因与其他加载器共用导致的一些问题。

autoloader-suffix

默认是 null。会用做 Composer 自动加载器后缀的字符串。如果为空,则会生成一组随机字符串。

optimize-autoloader

默认是 false。如果设为 true,则总会在生成自动加载器时进行优化。

sort-packages

默认是 false。如果设为 true,执行 require 命令时会始终保持 composer.json 文件中的扩展包名按照字母顺序排列。

classmap-authoritative

默认是 false。如果设为 true,Composer 自动加载器只会载入 classmap 中的类。此项会启用 optimize-autoloader。

apcu-autoloader

默认是 false。如果设为 true,Composer 自动加载器会检查 APCu,并且当扩展被启用时,使用它来缓存找到和未找到的类。

github-domains

默认是 ["github.com"]。一个在 gitHub 模式中使用的域名列表。GitHub Enterprise 可能会用到此项。

github-expose-hostname

默认是 true。如果设为 false,为访问 Github API 创建的 OAuth 令牌会有一个日期而不是主机名。

gitlab-domains

默认是 ["gitlab.com"]。一个 Gitlab 服务器的域名列表。如果你使用 gitlab 仓库类型时可能会用到此项。

notify-on-install

默认是 true。Composer 允许仓库定义一个通知 URL,以便于在基于此仓库的扩展包被安装时接收通知。此项允许你禁用此行为。

discard-changes

默认是 false 并且可以被设为 true,false 或 "stash"。此项允许你设置在升级过程中发生冲突时的默认行为。true 会放弃 vendors 中的更改,而 "stash" 尝试着去暂存以便于恢复。如果你的 CI 服务器或部署脚本可能会更改 vendors,那么可以使用该设置。

archive-format

默认是 tar。Composer 允许你设置在工作流需要创建特定格式压缩包时的默认压缩格式。

archive-dir

默认是 .。Composer 允许你设置在工作流需要创建特定格式压缩包时的默认压缩文件存储路径。也为了模块间的开发变得更加容易。

举个例子:

{
    "config": {
        "archive-dir": "/home/user/.composer/repo"
    }
}
登录后复制

htaccess-protect

默认是 true。如果设为 false,Composer 不会在 COMPOSER_HOME、cache、和数据目录创建 .htaccess 文件。

以上是关于composer.json中配置信息的介绍的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

laravel入门实例 laravel入门实例 Apr 18, 2025 pm 12:45 PM

Laravel 是一款 PHP 框架,用于轻松构建 Web 应用程序。它提供一系列强大的功能,包括:安装: 使用 Composer 全局安装 Laravel CLI,并在项目目录中创建应用程序。路由: 在 routes/web.php 中定义 URL 和处理函数之间的关系。视图: 在 resources/views 中创建视图以呈现应用程序的界面。数据库集成: 提供与 MySQL 等数据库的开箱即用集成,并使用迁移来创建和修改表。模型和控制器: 模型表示数据库实体,控制器处理 HTTP 请求。

解决 Craft CMS 中的缓存问题:使用 wiejeben/craft-laravel-mix 插件 解决 Craft CMS 中的缓存问题:使用 wiejeben/craft-laravel-mix 插件 Apr 18, 2025 am 09:24 AM

在使用CraftCMS开发网站时,常常会遇到资源文件缓存的问题,特别是当你频繁更新CSS和JavaScript文件时,旧版本的文件可能仍然被浏览器缓存,导致用户无法及时看到最新的更改。这个问题不仅影响用户体验,还会增加开发和调试的难度。最近,我在项目中遇到了类似的困扰,经过一番探索,我找到了wiejeben/craft-laravel-mix这个插件,它完美地解决了我的缓存问题。

提升 Doctrine 实体序列化效率:sidus/doctrine-serializer-bundle 的应用 提升 Doctrine 实体序列化效率:sidus/doctrine-serializer-bundle 的应用 Apr 18, 2025 am 11:42 AM

在处理一个包含大量Doctrine实体的项目时,我遇到了一个棘手的问题:每次序列化和反序列化实体时,性能变得非常低效,导致系统响应时间显着增加。我尝试了多种优化方法,但效果不佳。幸运的是,通过使用sidus/doctrine-serializer-bundle,我成功地解决了这个问题,显着提升了项目的性能。

如何使用 Composer 简化邮件营销:DUWA.io 的应用实践 如何使用 Composer 简化邮件营销:DUWA.io 的应用实践 Apr 18, 2025 am 11:27 AM

在进行邮件营销活动时,我遇到了一个棘手的问题:如何高效地创建并发送HTML格式的邮件。传统的方法是手动编写代码并使用SMTP服务器发送邮件,但这不仅耗时,而且容易出错。在尝试了多种解决方案后,我发现了DUWA.io,这是一个简单易用的RESTAPI,能够帮助我快速创建和发送HTML邮件。为了进一步简化开发流程,我决定使用Composer来安装和管理DUWA.io的PHP库——captaindoe/duwa。

如何使用 Composer 快速搭建 Fecmall 高级项目模板 如何使用 Composer 快速搭建 Fecmall 高级项目模板 Apr 18, 2025 am 11:45 AM

在开发电商平台时,选择合适的框架和工具至关重要。最近我在尝试构建一个功能丰富的电商网站时,遇到了一个棘手的问题:如何快速搭建一个可扩展且功能完善的电商平台。我尝试了多种解决方案,最终选择了Fecmall的高级项目模板(fecmall/fbbcbase-app-advanced)。通过使用Composer,这个过程变得非常简单和高效。可以通过以下地址学习Composer:学习地址

laravel安装代码 laravel安装代码 Apr 18, 2025 pm 12:30 PM

要安装 Laravel,需依序进行以下步骤:安装 Composer(适用于 macOS/Linux 和 Windows)安装 Laravel 安装器创建新项目启动服务访问应用程序(网址:http://127.0.0.1:8000)设置数据库连接(如果需要)

使用 Composer 解决推荐系统的困境:andres-montanez/recommendations-bundle 的实践 使用 Composer 解决推荐系统的困境:andres-montanez/recommendations-bundle 的实践 Apr 18, 2025 am 11:48 AM

在开发一个电商网站时,我遇到了一个棘手的问题:如何为用户提供个性化的商品推荐。最初,我尝试了一些简单的推荐算法,但效果并不理想,用户的满意度也因此受到影响。为了提升推荐系统的精度和效率,我决定采用更专业的解决方案。最终,我通过Composer安装了andres-montanez/recommendations-bundle,这不仅解决了我的问题,还大大提升了推荐系统的性能。可以通过一下地址学习composer:学习地址

laravel框架安装方法 laravel框架安装方法 Apr 18, 2025 pm 12:54 PM

文章摘要:本文提供了详细分步说明,指导读者如何轻松安装 Laravel 框架。Laravel 是一个功能强大的 PHP 框架,它 упростил 和加快了 web 应用程序的开发过程。本教程涵盖了从系统要求到配置数据库和设置路由等各个方面的安装过程。通过遵循这些步骤,读者可以快速高效地为他们的 Laravel 项目打下坚实的基础。

See all articles