我是Satis的新手,我找到了这个教程:https://getcomposer.org/doc/articles/handling-private-packages-with-satis.md。
但我还是不能让自己开始。 Satis是基于项目安装的吗?如果是这样,那是否意味着我必须在每个新项目上安装Satis?
我尝试从文件夹运行composer.phar create-project composer/satis --stability=dev
并收到错误消息,指出找不到composer.phar。所以,我尝试使用composer create-project composer/satis --stability=dev
并在我运行编辑器的文件夹中创建一个名为satisf的新文件夹。
那么,我怎么能安装Satis并使用它呢?你知道任何教我们的视频教程吗?我在Youtube上找不到任何东西。
谢谢。
答案 0 :(得分:8)
但我仍然无法让自己开始。 Satis是基于项目安装的吗?如果是这样,那是否意味着我必须在每个新项目上安装Satis?
不,满意是您的个人包装类存储库。在其中,您保留了一组定义,以获取您希望自己托管的软件包,而不是从packagist中获取它们。
我尝试从文件夹中运行composer.phar create-project composer / satisf --stability = dev,我收到错误消息,指出找不到composer.phar。
该命令将是php' composer.phar'如果作曲家不在你的路径(https://getcomposer.org/doc/00-intro.md#globally)
所以,我尝试使用composer create-project composer / satisf --stability = dev,并在我运行作曲家的文件夹中创建一个名为satisf的新文件夹。
好,这意味着您已将composer.phar移动到/ usr / local / bin / composer,您可以通过运行" composer&全局运行它(意味着您可以从系统中的每个目录运行它) #34;
A"逻辑"关于如何运行满意的一步一步说明,应该澄清我认为令你困惑的事情:
<强>背景强>
你想要满意是因为你想从你自己的存储库(git或其他,我用git制作我的例子)中提供一些项目,而不是从用作服务的服务中定义的repo中提取它。默认为composer,即packagist。您可能希望对原始程序包进行更改,并且在程序包更新时不要覆盖它们。因此,如果您可以将更改与上游更改合并,则需要一个中间步骤。
简要作曲家工作流程
Packagist不包含软件包的源代码,它为每个软件包(composer.json文件)保存一组定义,并在此集合中包含可从中获取软件包的定义。
当你运行作曲家时,
Brief Composer / Satis工作流程
满意的流程是: - 指示Composer使用满意的定义 - 它读取满意的定义 - 它从满意的公共仓库下载包 - 它按照包本身中的其他定义进行编译
逐步创建有用的编辑器/ Satis / Git设置
根据以上所述,一步一步的指示是:</ p>
对于上面的步骤#4,例如:
{
"name": "My Repo",
"homepage": "http://satis.mydomain.com",
"repositories": [
{
"type": "git",
"url": "satis@satis.mydomain.com:<packagename>"
}
],
"require-all": true
}
现在你有:作曲家,一个git repo和一个满意的回购(你自己的包装)。所有这些都在不同的独立位置。
使用Composer中的Satis和Git逐步
创建要安装程序包的目录 通过编写器指令,在此目录中添加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"
}
替换为您想要的任何内容,而originalvendorname / packagename是包的全名。 在这种情况下,您将创建自己的软件包版本,该软件包是从您在满意的回购中定义的git repo中提取的。那里没有找到的(可能的依赖关系)将从packagist.org repo中定义的每个依赖关系的原始git仓库中提取。
当您对自己的软件包版本进行更多修改并进行更多提交时,您需要更新您的满意的回购。通过上面的步骤#5重新构建它。
通过这种方式,它将链接到您的主分支的最后一次提交(以&#39; dev - &#39;为前缀)
希望这会有所帮助。分步命令是您在帖子开头所引用的页面中找到的命令。
答案 1 :(得分:3)
下载完成后,您需要创建一个配置json文件,其中包含存储库的位置。无论你喜欢什么,都可以命之后,执行bin / satisf命令以创建Web查看器。像
这样的东西php bin/satis build mi-config.json web/
如果后一个命令有效,则您已正确配置了您的服务器。然后,您需要做的就是将您的存储库源包含在main composer.json文件中:
"repositories": [
{
"type": "composer",
"url": "http://localhost/satis/web"
}
],
"require": {
"my/package: "*"
},
我在你的问题中注意到的事情:
我尝试运行composer.phar create-project ...
我收到错误消息,指出找不到composer.phar。所以,我尝试使用composer create-project ...
您不需要在服务器上的每个项目上安装composer,因为只要您将其移动到共享路径,它就适用于每个项目(正如文档中所说的那样/ usr / local / bin / composer - 没有phar扩展名) )。请记住,第一个示例是在项目根目录中有作曲家(使用全名和扩展名),第二个示例是尝试使用位于用户/本地路径中的作曲家。
这不是视频,但希望它有所帮助 此致