如何使用作曲家从命令行添加非公共存储库?

Posted

技术标签:

【中文标题】如何使用作曲家从命令行添加非公共存储库?【英文标题】:How to add non-public repositories from command line with composer? 【发布时间】:2015-10-22 22:53:37 【问题描述】:

我想添加一个不在 packagist 的新包,它是一个本地或非公共存储库。我知道如何在composer.json 中做到这一点。例如:

"repositories": [
    
        "type": "vcs",
        "url": "https://bitbucket.org/xxxx/xxxxx.git"
    
],
"require": 
    "xxxx/xxxxx": "dev-master"
,

但我想从命令行执行此操作,以便可以在配置文件中添加此非公共存储库。 在 Packagist 注册的包我可以添加:

composer require ....

但是如何处理未在 Packagist 注册的存储库?

【问题讨论】:

【参考方案1】:

您可以从项目根目录运行以下命令,将存储库添加到项目的 composer.json:

composer config repositories.repo-name vcs https://github.com/<orgname or username>/repo

然后你可以要求特定的回购:

composer require <orgname or username>/repo:dev-branchname

【讨论】:

然后添加带有composer require package-name:dev-branchname的包。 这破坏了我的 composer.json 的 json :DI 想运行它的命令行来按书去做,而不是破解 composer.json 但哦,好吧 .D 至少可以工作:P跨度> 专业提示:你可以使用repositories.0来避免它破坏自己的json文件 为避免在您想要添加多个 repos 时被覆盖,您可以将 repo-name 替换为您自己的字符串。 repositories.0 不是一个有效的解决方案,我也是这么想的,但是它替换了第一个条目并且不会在第一个条目之前插入新的条目

以上是关于如何使用作曲家从命令行添加非公共存储库?的主要内容,如果未能解决你的问题,请参考以下文章

如何列出存储库中的所有提交及其父信息以及使用命令行或 JGit 添加和删除的行?

如何在“非作曲家”TYPO3中安装“仅限作曲家模式”扩展名

如何使用命令行从私有 github 存储库下载单个原始文件?

GCP apache气流,如何从私有存储库安装Python依赖项

如何从终端/命令行推送到 git

你如何让作曲家安装非作曲家包?