Php Satis Composer存储库安装

Php Satis Composer存储库安装,php,composer-php,satis,Php,Composer Php,Satis,我是Satis的新手,我发现了这个教程: 但我还是无法开始。Satis是基于项目安装的吗?如果是这样,那是否意味着我必须在每个新项目上安装Satis 我试图从一个文件夹中运行composer.phar create project composer/satis--stability=dev,收到一条错误消息说找不到composer.phar。因此,我尝试使用composer-createprojectcomposer/satis--stability=dev,它在我运行composer的文件夹中

我是Satis的新手,我发现了这个教程:

但我还是无法开始。Satis是基于项目安装的吗?如果是这样,那是否意味着我必须在每个新项目上安装Satis

我试图从一个文件夹中运行
composer.phar create project composer/satis--stability=dev
,收到一条错误消息说找不到composer.phar。因此,我尝试使用
composer-createprojectcomposer/satis--stability=dev
,它在我运行composer的文件夹中创建了一个名为satis的新文件夹

那么,我如何安装和使用Satis呢?你知道这方面的视频教程吗?我在Youtube上找不到


谢谢。

下载satis后,您需要创建一个配置json文件,该文件的位置指向您的存储库。随便你怎么说都行。之后,执行bin/satis命令创建web查看器。差不多

php bin/satis build mi-config.json web/
如果后一个命令有效,则说明您已正确配置了satis服务器。然后,您只需将存储库源代码包含在主composer.json文件中:

"repositories": [
    {
        "type": "composer",
        "url": "http://localhost/satis/web"
    }
],
"require": {
    "my/package: "*"
},

我在你的问题中注意到:

我试图运行composer.phar创建项目

我收到一条错误消息,说找不到composer.phar。所以,我尝试使用composer创建项目

您不需要在服务器上的每个项目上安装composer,因为只要您将其移动到共享路径(如文档所述,aka/usr/local/bin/composer-没有phar扩展),它就可以为每个项目工作。请记住,第一个示例是在项目根目录中有composer(具有全名和扩展名)的情况下,第二个示例尝试使用位于用户/本地路径中的composer

这不是视频,但希望能有所帮助 问候

但我还是无法开始。Satis是基于项目安装的吗?如果是这样,那是否意味着我必须在每个新项目上安装Satis

不,satis是你的个人包装库。在其中,您保留了一组定义,用于从何处获取要自己托管的包,而不是从PackageGist获取它们

我试图从一个文件夹中运行composer.phar create project composer/satis--stability=dev,但收到错误消息说找不到composer.phar

如果composer不在您的路径()中,那么该命令应该是php'composer.phar'

因此,我尝试使用composer create project composer/satis--stability=dev,并在我运行composer的文件夹中创建一个名为satis的新文件夹

很好,这意味着您已将composer.phar移动到/usr/local/bin/composer,只需运行“composer”即可全局运行它(意味着您可以从系统中的每个目录运行它)

关于如何运行satis的“逻辑”分步说明应澄清我认为让您困惑的地方:

背景

您希望使用satis,因为您希望从自己的存储库(git或其他,我将用git作为示例)服务某些项目,而不是从repo中提取它,repo是composer(即packagist)默认使用的服务中定义的。可能您希望对原始包进行更改,而不希望在包更新时覆盖这些更改。因此,您需要一个中间步骤,以便将您的更改与上游更改合并

简要作曲家作品流程

Packagist不保存包的源代码,它保存每个包的一组定义(composer.json文件),在这组定义中,有一个repo包可从中获得的定义

当你运行composer时

  • 它阅读packagist中的定义
  • 它从定义的公共repo(github、git、svn等)下载包
  • 它按照包本身中的其他定义进行编译
简短编写器/Satis工作流

对于satis,流程为: -作曲家被指示使用satis中的定义 -它读取satis中的定义 -它从satis中定义的公共回购中下载包 -它按照包本身中的其他定义进行编译

逐步创建有用的Composer/Satis/Git设置

根据上述内容,逐步说明如下:

  • 全局安装composer(为了简单起见,您已经有了它)
  • 在可从web访问的文件夹中,安装satis
  • 在您的系统中的某个地方(在专用git用户的家中位置最容易,它可能是“satis”用户),克隆一个git repo,用于您想要修改的包,并从您自己的git repo提供服务
  • 在satis repo中添加一个satis.json文件,其中包含项目的定义
  • 从同一位置运行“php bin/satis build satis.json root/(我更喜欢“root/”而不是标准的“web/”),并将web服务器的documentRoot设置为“path/to/root/”
  • 对于上述第4步,例如:

    {
    "name": "My Repo",
    "homepage": "http://satis.mydomain.com",
    "repositories": [
        {
            "type": "git",
            "url": "satis@satis.mydomain.com:<packagename>"
        }
    ],
    
    "require-all": true
    }
    
    {
    “名称”:“我的回购协议”,
    “主页”:http://satis.mydomain.com",
    “存储库”:[
    {
    “类型”:“git”,
    “url”:”satis@satis.mydomain.com:"
    }
    ],
    “要求所有”:正确
    }
    
    现在您有了:composer、git repo和satis repo(您自己的打包师)。所有这些都位于不同和独立的位置

    逐步使用Composer提供的Satis和Git

    创建一个安装包的目录 按照composer的说明,在此目录中添加composer.json文件。这一次,虽然包是您的修改版本,但composer.json文件将如下所示:

    {
        "name": "<yourname>/<packagename>",
        "repositories": [
            {
                "type": "composer",
                "url": "http://satis.yourdomain.com"
            },
            {"packagist": true},
            { "type": "composer", "url": "https://packagist.org" }
        ],
        "version": "dev-master",
        "require": {
            "<originalvendorname>/<packagename>": "dev-master"
        },
        "minimum-stability": "dev"
       }
    
    {
    “姓名”:“/”,
    “存储库”:[
    {
    “类型”:“作曲家”,
    “url”:”http://satis.yourdomain.com"
    },
    {“packagist”:true},
    {“类型”:“编写器”,“url”:https://packa