使用 composer 安装 silverstripe 时缺少某些文件夹和文件?

Certain folders and files missing when using composer to install silverstripe?

当我运行 $ composer install 在终端中使用以下composer.json 文件安装silverstripe 时,它​​没有通过某些folder/files。例如,它不会引入 mysite 文件夹或 assets 文件夹以及主 .htaccess 文件之类的东西...

{
    "name": "silverstripe/installer",
    "description": "The SilverStripe Framework Installer",
    "require": {
        "php": ">=5.3.2",
        "silverstripe/cms": "3.2.1",
        "silverstripe/framework": "3.2.1",
        "silverstripe-themes/simple": "*"
    },
    "minimum-stability": "dev"
}

好像我 运行 来自 silverstripe 网站的创建项目命令创建了所有内容

例如 $ composer create-project silverstripe/installer /path/to/project 3.2.1

如何使用我的 composer.json 文件导入所有内容?

Whosebug 上有一个类似这样的回答:Difference between require and install vs create-project in composer

create-project 实质上克隆了以下存储库,其中包含您要查找的文件和文件夹: https://github.com/silverstripe/silverstripe-installer

克隆完成后,它还有 composer.json 文件和 运行composer 安装。

这是您可以开始工作的基础。

请注意,您不希望 composer install 替换您的 .htaccess,因为这是您针对每个项目编辑的东西(用于重定向和类似的东西)。

我们有自己的安装程序分支,其中包含 composer.json 中我们常用的 SilverStripe 扩展。

在我们的"base repo"中我们有:

  • .htaccess 包含您应该拥有的各种重定向示例(强制 www、开发域例外等)
  • 我们自己的 "project" 包含大量助手的基本模板
  • 我们常用的SilverStripe扩展在composer.json

我们通过分叉基础存储库然后克隆它来启动我们的 SilverStripe 项目。然后我们 运行 composer install 就可以了,然后开始处理这个项目。然后,我们将更改提交到与项目相关的分叉存储库。

此外,在我们的存储库中,我们有 vagrant 文件来启动带有所有好东西的开发机器。