【问题标题】:Can I place the composer.json file for my project not on the root directory?我可以将我的项目的 composer.json 文件放在不在根目录上吗?
【发布时间】:2020-03-13 17:41:39
【问题描述】:

我正在实施一个我想通过 Packagist 分享的项目。通常,composer.json 文件将位于项目根目录中,但我希望在子目录/private/composer 下拥有所有与作曲家相关的文件和目录。移动composer.jsoncomposer.lockvendor 后,Packagist 无法在我的远程存储库中找到composer.json,因此我的项目将不再自动更新。

是否有可能做我想做的并且仍然让 Packagist 自动更新项目?

我想要实现的项目结构是这样的:

.
├── .editorconfig
├── .git
│   ├── branches
│   ...
├── .gitignore
├── .htaccess
├── license.txt
├── private
│   ├── composer
│   │   ├── composer.json
│   │   ├── composer.lock
│   │   └── vendor
│   │       ├── autoload.php
│   │       ...
│   ├── npm
│   │   ├── package.json
│   │   ├── package-lock.json
│   │   └── node_modules
│   │       ...
├── public
│   └── index.php
└── readme.md

【问题讨论】:

    标签: composer-php packagist


    【解决方案1】:

    No, it is not possible.

    此外,即使有可能,我也不推荐它 - 这是不寻常的配置,它只会让你的包的用户感到困惑。

    【讨论】:

    • 我认为在你的项目根目录中有很多配置文件会更令人困惑。如果我想在几个包管理器上拥有这个项目,那将是一团糟。我将在该问题上发帖请求支持这一点。谢谢。
    • 给定的文件结构在哪里包含“大量配置文件”?为什么会令人困惑?
    • @NicoHaase 一个常规项目可能在其根目录中包含多个不同类型的文件。例如,我有一个 readme.md、一个 license.txt、一个 .gitignore、一个 .editorconfig、一个 .htaccess、一个 .git 子目录和我的 IDE 配置子目录。我不想在这个混乱中添加更多文件。另外,我现在或将来可能想将我的项目添加到其他包管理器中,所以我想让事情井井有条。使用 composer 将添加一个 composer.json、一个 composer.lock 和一个供应商目录:我认为将它们存储到我项目中某处的“composer”子目录中会很有趣。
    猜你喜欢
    • 1970-01-01
    • 2017-07-22
    • 1970-01-01
    • 2016-05-22
    • 2022-01-22
    • 1970-01-01
    • 1970-01-01
    • 2013-03-09
    • 2015-07-15
    相关资源
    最近更新 更多