新闻中心

如何使用 Composer 管理 Drupal 8/9/10 项目的模块和核心?

2025-12-09
浏览次数:
返回列表
用 Composer 管理 Drupal 8/9/10 是标准实践,需基于 drupal/recommended-project 初始化,模块装入 web/modules/contrib/,核心升级通过 composer require drupal/core-recommended,自定义代码放 web/modules/custom/ 等目录,始终依赖 composer.lock 保障一致性。

如何使用 composer 管理 drupal 8/9/10 项目的模块和核心?

用 Composer 管理 Drupal 8/9/10 项目是标准实践,它能统一管理核心、模块、主题和依赖库,避免手动复制文件带来的版本混乱和安全风险。关键不是“能不能装模块”,而是“怎么装得干净、可复现、易升级”。

初始化一个标准的 Drupal Composer 项目

不建议从零手写 composer.json。直接用官方推荐的 drupal/recommended-project 模板:

  • 运行 composer create-project drupal/recommended-project my-site
  • 这会生成带正确目录结构(web/ 为 DocRoot)、预设脚本、合理 autoload 配置的项目
  • docroot/web/ 是 Drupal 核心所在,modules/contrib/themes/contrib/ 等由 Composer 自动管理,不再放根目录下

安装和更新贡献模块(Contrib Modules)

所有模块必须通过 Composer 安装到 web/modules/contrib/,不能手动丢进去。

  • 装新模块:例如安装 Pathauto,运行 composer require drupal/pathauto
  • 指定版本:如 composer require drupal/views:^8.9(适配 Drupal 9)或 composer require drupal/token:1.0
  • 更新单个模块:composer update drupal/devel
  • 更新全部(谨慎!):composer update —— 建议加 --with-all-dependencies 保持依赖一致

升级 Drupal 核心(8 → 9 → 10)

核心升级本质是升级 drupal/core 及其兼容组件,不是覆盖文件。

Songtell Songtell

Songtell是第一个人工智能生成的歌曲含义库

Songtell 164 查看详情 Songtell
  • 先确认目标版本支持的 PHP 和依赖要求(如 Drupal 10 要 PHP 8.1+)
  • 运行 composer require drupal/core-recommended:^10 --update-with-dependencies(以升到 D10 为例)
  • Composer 会自动处理 drupal/coredrupal/core-composer-scaffolddrupal/core-project-message 等关联包
  • 升级后务必运行 drush updbdrush cr,并检查 Drupal 官方升级指南 中的清理项(如废弃模块、配置变更)

处理自定义代码与本地开发

自己的模块、主题、配置不要放进 contrib/ 目录,也不应由 Composer 管理源码。

  • 自定义模块放在 web/modules/custom/,主题放 web/themes/custom/ —— 这些目录不被 Composer 清理
  • 若需在多环境共享自定义代码,可将其打包为私有包,配置 repositories 到 composer.json
  • 开发时常用 composer install --no-interaction --prefer-dist 快速重建依赖;CI/CD 应基于 composer.lock 部署,确保一致性

基本上就这些。Composer 不是魔法,但只要坚持“所有第三方代码走 require,所有自定义代码放 custom 目录,所有操作留 lock 文件”,就能稳住 Drupal 项目的生命周期管理。

以上就是如何使用 Composer 管理 Drupal 8/9/10 项目的模块和核心?的详细内容,更多请关注php中文网其它相关文章!


# drupal  # composer  # 尼克  # 不动  # 多个  # 有什么  # 如何解决  # 如何使用  # 自定义  # json  # js  # php  # seo点击优化骗局  # 航天桥模板网站建设  # 姜思达透明人推广营销  # 官方seo优化价格查询  # 邵阳小红书营销推广  # 哈密本地网站建设电话  # 罗湖如何网站优化广告  # 沛县seo优化推广服务  # 商城网站建设服务流程  # 省心的seo推广网站需要多少钱  # 客户端  # 自己的  # 跳过 


相关栏目: 【 科技资讯46185 】 【 网络学院92790


相关推荐: UC浏览器如何安装插件 UC浏览器添加扩展程序详细教程【进阶】  b站怎么删除评论_b站评论管理与删除操作  Sublime Text怎么设置垂直标尺_Sublime配置Rulers规范代码长度  纯CSS与HTML网格布局的HTML精简策略:SVG与JS方案解析  163邮箱登录密码 163邮箱忘记密码找回  押井守高度称赞《辐射4》:玩了八年都停不下来!  抖音网页版快捷访问 抖音网页版网页版入口操作教程  win11如何卸载Windows更新补丁 Win11解决更新导致系统不稳定的问题【修复】  CSS Box Model与弹性按钮:维持布局稳定的动画实践  学习通网页版快速入口 学习通官网网页版直接打开  特斯拉自动驾驶房车计划曝光 原型车将于2027年亮相  MongoDB聚合管道:正确匹配对象数组中_id的方法  海量存储:机器视觉智能化的核心基石  AO3中文官网链接_AO3网页版稳定镜像站  支付宝碰一碰设备是REDMI手机吗 博主拆机辟谣:处理器、内存都不一样  NVIDIA股价11月重挫12%:下月有望好转 但难回5万亿美元巅峰  J*aScript中向JSON对象添加新属性的正确姿势  qq游戏手机版下载安装_qq游戏移动端入口  QQ邮箱在线登录平台 QQ邮箱个人邮箱网页版入口  Golang如何使用context实现超时取消_Golang context超时取消模式实践  俄罗斯搜索引擎Yandex指南 附2025年免登录官网入口  极速漫画官方主页网址 极速漫画漫画在线浏览官网链接  抓大鹅解压小游戏 抓大鹅摸鱼解压入口  ACG动漫视频网入口 ACG动漫*免费正版观看地址  Excel函数批量查找替换超快方法_Excel用REPLACE和FIND函数秒级替换  ExcelARRAYTOTEXT函数怎么自定义分隔符输出数组文本_ARRAYTOTEXT实现动态生成SQL语句  包子漫画官方网站在线链接-包子漫画在线阅读平台主页地址  Fabric Mod开发:在1.19.3+版本中正确添加自定义物品并管理物品组  Win11怎么设置鼠标指针速度_Win11提高鼠标指针精确度选项  C++如何解决segmentation fault_C++段错误调试与原因分析  Win11 USB传输速度慢怎么解决 Win11 USB驱动更新与设置  高德地图公交到站提醒失败如何解决 高德提醒权限设置  如何在J*a中使用Locale处理多语言环境  windows10怎么关闭系统提示音_windows10彻底静音设置方法  SteamMachine定价或为699美元 大家想入手吗?  Go语言中JSON数据解析与字段访问教程  J*aScript中赋值与自增运算符的复杂交互与执行机制  PySpark中从现有列右侧提取可变长度字符创建新列的教程  J*aScript打印功能_j*ascript输出控制  韩小圈电脑版在线入口_网页版免费登录地址  msn官网入口地址手机版 msn官方网站手机最新链接  神经网络二分类模型训练异常:高损失与完美验证准确率的排查与修正  在J*a项目里如何构建对象之间的契约_接口约束的实际落地  css卡片内容溢出如何处理_使用overflow隐藏或scroll显示内容  怎样在Excel中做仪表盘_Excel仪表盘设计与关键指标展示方法  AI抖音网页版免费视频入口 AI抖音网页端最新视频实时观看  Kafka Streams中基于消息头条件过滤消息的实现指南  AO3最新镜像入口 Archive of Our Own官方平台访问  葱吃多了会怎样 葱吃多了会伤胃吗  Spring Boot内嵌服务器与J*a EE全栈特性:选择与部署策略 

搜索