首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我可以使用自己的Composer Satis安装同步或镜像packagist.org中的依赖项吗?

我可以使用自己的Composer Satis安装同步或镜像packagist.org中的依赖项吗?
EN

Stack Overflow用户
提问于 2012-08-01 20:35:02
回答 2查看 5.1K关注 0票数 16

我们有自己的Satis存储库,我们可以在那里存储我们自己的依赖项。这可以很好地工作。

但是如果开发人员使用的包不在我们自己的存储库中,那么Composer将通过packagist.org从GitHub获取它(作为后备)。

但是我们不想依赖于packagist.org。所有依赖项都应该从我们自己的存储库中下载。

我们想知道的是,如果可能的话,Satis从Packagist下载一个包,如果它还不是本地可用的,然后存储它并自动将其添加到Satis自己的存储库。

这样,我们就不必手动将依赖项添加到Satis存储库。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-07-27 03:38:45

Satis现在支持这一点。

只需遵循Satis setup instructions并将以下内容添加到您的配置文件(默认名称为satis.json )。更新prefix-url并根据需要进行更新。

代码语言:javascript
复制
{
    "repositories": [
        { "type": "composer", "url": "https://packagist.org" }
    ],
    "require-dependencies": true,
    "require": {
        {{your application dependencies from composer.json}}
    },
    "archive": {
        "directory": "dist",
        "prefix-url": "{{your server}}",
        "skip-dev": true
    }
}

然后,您可以像普通一样创建您的Satis存储库:

代码语言:javascript
复制
php bin/satis build <configuration file> <build dir>

现在,您的Satis存储库将满足应用程序的所有依赖项。

注意:第一次运行可能需要一段时间。后续的运行速度要快得多。另外,请注意Satis使用/tmp作为其缓存。在/tmp由tmpfs支持的小型内存系统上,如果您有一个大型依赖关系树,则可能需要增加/tmp可用的空间。

您可能还希望在项目的composer.json文件中使用disable the Packagist repository,以强制要求所有依赖项都来自Satis存储库。要执行此操作,请添加:

代码语言:javascript
复制
{
    "repositories": [
        {
            "packagist": false
        }
    ]
}

添加到项目的composer.json。

票数 15
EN

Stack Overflow用户

发布于 2012-08-10 00:16:46

目前,您可以使用broker来实现这一点。最有可能的情况是,添加此功能是为了满足自己的需求。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11759347

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档