0

0

composer.json中的config字段有哪些常用配置

裘德小鎮的故事

裘德小鎮的故事

发布时间:2025-09-29 11:39:02

|

328人浏览过

|

来源于php中文网

原创

config字段用于配置Composer行为,1. vendor-dir自定义依赖目录;2. bin-dir设置可执行文件路径;3. cache-dir指定缓存位置;4. process-timeout调整命令超时;5. preferred-install控制安装方式;6. autoloader-suffix命名自动加载文件;7. sort-packages排序依赖;8. platform模拟PHP环境;9. github-protocols设定协议优先级;10. allow-plugins管理插件权限,提升安全与效率。

composer.json中的config字段有哪些常用配置

composer.json 中,config 字段用于定义 Composer 的本地和全局行为。它影响依赖安装、包管理、缓存等操作。以下是一些常用且实用的配置项。

1. vendor-dir

指定 Composer 安装依赖包的目录,默认是 vendor

例如:
"config": {
    "vendor-dir": "libs"
}

这会把所有依赖安装到项目根目录下的 libs 文件夹中。

2. bin-dir

设置可执行文件(bin)的存放路径,默认放在 vendor/bin

例如:
"config": {
    "bin-dir": "bin"
}

这样全局命令类工具(如 phpunit、phinx 等)会被软链接到项目下的 bin 目录。

3. cache-dir

自定义 Composer 缓存目录位置,避免占用系统默认缓存空间。

例如:
"config": {
    "cache-dir": "/tmp/composer-cache"
}

适合在 CI/CD 环境或磁盘空间受限时使用。

4. process-timeout

设置外部命令(如 git clone)的最大执行时间,单位为秒。

例如:
"config": {
    "process-timeout": 600
}

在网络较慢时,延长超时时间可避免安装中断。

5. preferred-install

控制依赖包的安装方式:源码(source)、克隆(dist)或自动选择。

常见用法:
"config": {
    "preferred-install": "dist"
}

生产环境推荐使用 dist 提高速度;开发环境可用 source 方便调试。

6. autoloader-suffix

为生成的自动加载文件指定一个后缀,增强命名唯一性。

Digram
Digram

让Figma更好用的AI神器

下载
例如:
"config": {
    "autoloader-suffix": "MyProject"
}

生成的 autoload.php 会带有命名空间隔离标识。

7. sort-packages

强制在运行 composer require 时按字母顺序排序 require 和 require-dev 包。

启用方式:
"config": {
    "sort-packages": true
}

保持 composer.json 中依赖列表整洁有序。

8. platform

模拟特定 PHP 版本或扩展环境,防止安装不兼容的包。

例如:
"config": {
    "platform": {
        "php": "7.4.3",
        "ext-mbstring": "1.0"
    }
}

即使当前环境是 PHP 8,Composer 也会按 PHP 7.4 来解析依赖。

9. github-protocols

指定从 GitHub 拉取代码时使用的协议优先级。

示例:
"config": {
    "github-protocols": ["https"]
}

避免 SSH 鉴权问题,强制使用 HTTPS 协议克隆。

10. allow-plugins

从 Composer 2.2 开始引入的安全机制,用于显式允许或禁止插件执行。

例如:
"config": {
    "allow-plugins": {
        "composer/package-versions-deprecated": true,
        "infection/infection": false
    }
}

提高安全性,防止恶意或不需要的插件运行。

基本上就这些。合理使用 config 能提升项目稳定性、构建效率和团队协作体验。根据实际场景选择配置即可。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
composer是什么插件
composer是什么插件

Composer是一个PHP的依赖管理工具,它可以帮助开发者在PHP项目中管理和安装依赖的库文件。Composer通过一个中央化的存储库来管理所有的依赖库文件,这个存储库包含了各种可用的依赖库的信息和版本信息。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

151

2023.12.25

json数据格式
json数据格式

JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。

418

2023.08.07

json是什么
json是什么

JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。

535

2023.08.23

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

311

2023.10.13

go语言处理json数据方法
go语言处理json数据方法

本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。

77

2025.09.10

sort排序函数用法
sort排序函数用法

sort排序函数的用法:1、对列表进行排序,默认情况下,sort函数按升序排序,因此最终输出的结果是按从小到大的顺序排列的;2、对元组进行排序,默认情况下,sort函数按元素的大小进行排序,因此最终输出的结果是按从小到大的顺序排列的;3、对字典进行排序,由于字典是无序的,因此排序后的结果仍然是原来的字典,使用一个lambda表达式作为key参数的值,用于指定排序的依据。

391

2023.09.04

require的用法
require的用法

require的用法有引入模块、导入类或方法、执行特定任务。想了解更多require的相关内容,可以阅读本专题下面的文章。

466

2023.11.27

github中文官网入口 github中文版官网网页进入
github中文官网入口 github中文版官网网页进入

github中文官网入口https://docs.github.com/zh/get-started,GitHub 是一种基于云的平台,可在其中存储、共享并与他人一起编写代码。 通过将代码存储在GitHub 上的“存储库”中,你可以: “展示或共享”你的工作。 持续“跟踪和管理”对代码的更改。

767

2026.01.21

Python 自然语言处理(NLP)基础与实战
Python 自然语言处理(NLP)基础与实战

本专题系统讲解 Python 在自然语言处理(NLP)领域的基础方法与实战应用,涵盖文本预处理(分词、去停用词)、词性标注、命名实体识别、关键词提取、情感分析,以及常用 NLP 库(NLTK、spaCy)的核心用法。通过真实文本案例,帮助学习者掌握 使用 Python 进行文本分析与语言数据处理的完整流程,适用于内容分析、舆情监测与智能文本应用场景。

10

2026.01.27

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PHP课程
PHP课程

共137课时 | 9.8万人学习

JavaScript ES5基础线上课程教学
JavaScript ES5基础线上课程教学

共6课时 | 11.2万人学习

PHP新手语法线上课程教学
PHP新手语法线上课程教学

共13课时 | 0.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号