Composer php 如何从PackageGist安装Satis包依赖项

Composer php 如何从PackageGist安装Satis包依赖项,composer-php,packagist,satis,Composer Php,Packagist,Satis,我已经在自己的服务器上成功地安装了Satis,并且能够从中提取包 但是,这些私有包中所需的依赖项不断地在其最新版本而不是指定的版本约束下被克隆。我认为Satis正在创建最新开发版本的本地镜像。然而,我不想有一个本地镜像,我只需要直接从Packagegist安装它们 那么,我需要如何设置project/package/Satis,以便从Packagist安装这些私有包中的依赖项呢 谢谢 这是我的Satis构建文件: { "name": "Package Server", "homepag

我已经在自己的服务器上成功地安装了Satis,并且能够从中提取包

但是,这些私有包中所需的依赖项不断地在其最新版本而不是指定的版本约束下被克隆。我认为Satis正在创建最新开发版本的本地镜像。然而,我不想有一个本地镜像,我只需要直接从Packagegist安装它们

那么,我需要如何设置project/package/Satis,以便从Packagist安装这些私有包中的依赖项呢

谢谢


这是我的Satis构建文件:

{
  "name": "Package Server",
  "homepage": "http://packages.URL",
  "repositories": [
    {
      "type": "vcs",
      "url": "git@bitbucket.org:USERNAME/REPO.git",
      "options": {
          "ssh2": {
              "username": "USERNAME",
              "pubkey_file": "PUBFILE",
              "privkey_file": "PRIVATEFILE"
          }
      }
    }
  ],
  "require-all": true
}
这是需要私有包的项目的composer.json文件(包没有标记的版本):

这是私有包的composer.json:

{
    "name": "USERNAME/RPO",
    "description": "",
    "require": {
        "php": ">=5.4.0",
        "illuminate/support": "5.0.*",
        "vinkla/hashids": "~1.0"
    },

    "minimum-stability": "dev"
}

在Satis配置中,您定义了
“require all”:true
。 这是默认设置,并选择您定义的存储库中所有包的所有版本

您可以尝试删除
“require all”:true
,以支持
require
部分。 这意味着Satis将只包含这些特定的包及其版本,如下所示:

"require": {
    "company/packageA": "*",
    "company/packageB": "1.2.3",
    "company/packageC": "2.0.0"
}
这是对Satis的攻击



因此,如果我理解正确,我需要在require密钥中添加指定私有存储库中可用的私有包,然后从Packagist安装它们自己的依赖项

添加
require dependencies
-这告诉Satis不仅要镜像“require”部分中指定的包,还要镜像它们的所有依赖项

是否可能在一个定义的存储库中驻留多个包,或者每个包都需要在Satis中输入自己的存储库url条目

我认为不可能在一个
类型中包含多个包:“vcs”
存储库

使用
“type”:“composer”
和一个克隆的packagist,您可以存储多个repo。 想想看


因此,如果我理解正确,我需要在require键中添加指定私有存储库中可用的私有包,然后从PackageGist安装它们自己的依赖项?子问题:是否可能在一个定义的存储库中驻留多个包,或者每个包都需要自己的存储库url进入Satis?我偶然发现了一个新的问题。也许你也可以看看那个
"require": {
    "company/packageA": "*",
    "company/packageB": "1.2.3",
    "company/packageC": "2.0.0"
}
{
    "repositories": [
        { "type": "vcs", "url": "https://github.com/somewhere/packageA" },
        { "type": "composer", "url": "https://packagist.org" }
    ], 
    "require": {
        "package/packageA": "somewhere-dev",
        "phpunit/phpunit": "*"
    },
    "require-dependencies": true
}