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

Posted

技术标签:

【中文标题】你如何让作曲家安装非作曲家包?【英文标题】:How do you get composer to install a non-composer package? 【发布时间】:2013-05-26 17:26:17 【问题描述】:

我正在尝试让作曲家从这个项目中下载以下库,但是它没有 composer.json 文件,所以我不确定这是否可能。


    "require" : 
        "fguillot/picoFeed" : "*"
    ,
    "repositories": [
        
            "type": "vcs",
            "url": "https://github.com/fguillot/picoFeed"
        
    ]

错误:

[Composer\Repository\InvalidRepositoryException] 在的任何分支或标签中都找不到有效的 composer.json https://github.com/fguillot/picoFeed,无法加载包 来自它。

【问题讨论】:

【参考方案1】:

要包含非作曲家存储库,您需要设置package repository。这会给你类似的东西:


    "repositories": [
        
            "type": "package",
            "package": 
                "name": "fguillot/picoFeed",
                "version": "dev-master",
                "source": 
                    "url": "https://github.com/fguillot/picoFeed",
                    "type": "git",
                    "reference": "origin/master"
                
            
        
    ],
    "require": 
        "fguillot/picoFeed": "dev-master"
    

【讨论】:

这样的“包”是否可以更改安装路径?【参考方案2】:

作为对@George 答案的补充,关于@DavidOliver 的comment,以下是您应该能够更改包安装目标的方式:

"repositories" : [
    
        "type"    : "package",
        "package" : 
            "name"    : "vend0r/p4ckage",
            "version" : "dev-master",
            "type"    : "foo-library",
            "dist"    : 
                "url"  : "https://github.com/vend0r/p4ckage.git",
                "type" : "vend0r/p4ckage"
            ,
            "source"  : 
                "url"       : "https://github.com/vend0r/p4ckage.git",
                "type"      : "git",
                "reference" : "origin/master"
            
        
    
]
...
"extra" : 
    "installer-paths" : 
        "libraries/footype" : [
            "type:foo-library"
        ],
    

...
"require" : 
    "vend0r/p4ckage" : "dev-master"

【讨论】:

我偶然发现了如何将非作曲家存储库安装到自定义路径;事实证明,仅需要 composer/installers: ***.com/a/20442240/1065925 是无法做到的。在同一页面上还有oomphinc/composer-installers-extender 的解决方案。

以上是关于你如何让作曲家安装非作曲家包?的主要内容,如果未能解决你的问题,请参考以下文章

Laravel,如何在没有作曲家的情况下手动安装包

如何使用相互依赖的作曲家同时安装 2 个 Symfony 包

Laravel包的作曲家需要

为啥作曲家包不安装

作曲家:如何找到一个包的确切版本?

Typo3 介绍包版本 9.5