You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为未通过Composer下载的现有Drupal 9站点添加Composer

如何将非Composer安装的Drupal 9站点转为Composer管理

完全可以把非Composer安装的Drupal 9站点转为用Composer管理,以下是针对新手的分步操作流程:

  • 第一步:备份站点
    先完整备份网站所有文件和数据库,避免操作失误导致数据丢失。

  • 第二步:初始化Composer
    打开终端进入站点根目录,运行以下命令生成composer.json文件:

    composer init
    

    按提示填写信息(大部分选项直接回车用默认值即可)。

  • 第三步:配置Drupal仓库并添加核心依赖
    先添加Drupal官方的Composer仓库:

    composer config repositories.drupal composer https://packages.drupal.org/8
    

    再安装对应版本的Drupal核心依赖(替换^9.5.10为你当前站点的Drupal版本号):

    composer require drupal/core:^9.5.10 drupal/core-composer-scaffold:^9.5.10 drupal/core-project-message:^9.5.10 --no-update
    

    其中core-composer-scaffold用于管理站点根目录的核心文件(如index.php),是必须添加的依赖。

  • 第四步:同步现有模块/主题到Composer

    • 对于从Drupal.org下载的 contrib 模块/主题,找到对应的版本号,用composer require添加,示例:
      composer require drupal/views_bulk_operations:^4.1
      
    • 自定义开发的模块/主题,需在composer.json的autoload字段添加路径,示例:
      "autoload": {
        "psr-4": {
          "Drupal\\mymodule\\": "modules/custom/mymodule/src/",
          "Drupal\\mytheme\\": "themes/custom/mytheme/src/"
        }
      }
      

    运行composer dump-autoload加载新的自动加载规则。

  • 第五步:执行依赖更新
    运行命令让Composer处理所有依赖:

    composer update
    

    这会将依赖下载到vendor目录,并生成composer.lock文件。

  • 第六步:调整站点配置
    确保settings.php中vendor目录路径正确,默认配置如下:

    $settings['composer_manager']['vendor_dir'] = 'vendor';
    

    若之前手动修改过核心文件,需将自定义内容迁移到自定义模块/主题中,避免被Composer覆盖。

  • 第七步:验证站点状态
    清除Drupal缓存:

    drush cr
    

    访问站点检查功能是否正常,确认所有模块、主题均可正常加载。

补充说明:你提到的"Drupal 8.8.0及以上版本预装了Composer",实际是指官方从该版本开始推荐使用Composer作为标准安装方式,并非预装Composer工具本身。非Composer安装的站点只是缺少composer.json和vendor目录,通过上述步骤即可补全并转为Composer管理。

内容的提问来源于stack exchange,提问作者Арсен

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 04:10:18