问题标签 [satis]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
repository - composer set a local repository (satis)
I want to set a local Repository, so i set up satis.
I loaded SonataAdminBundle and KnpMenuBundle as an exemple.
satis.json:
{"type": "vcs", "url": "https://github.com/sonata-project/SonataAdminBundle"},{"type": "vcs", "url": "https://github.com/KnpLabs/KnpMenuBundle"}
After that, in my project composer :
}
when i do a composer update, i got this error:
Potential causes: - A typo in the package name - The package is not available in a stable-enough version according to your minimum-stability setting see https://groups.google.com/d/topic/composer-dev/_g3ASeIFlrc/discussion for more details.
what shall i do ?
composer-php - 如何从 packagegist 安装 Satis 包依赖项
我已经在自己的服务器上成功设置了 Satis,并且能够从中提取包。
但是,这些私有包中所需的依赖项会不断被克隆到其最前沿的版本,而不是指定的版本约束。我认为 Satis 正在创建最新开发版本的本地镜像。但是我不想有本地镜像,我只需要它们直接从 Packagist 安装。
那么我需要如何设置项目 / 包 / Satis 以从 Packagist 安装这些私有包中的依赖项?
谢谢。
这是我的 Satis 构建文件:
这是需要私有包的项目的 composer.json 文件(包没有标记的版本):
这是私有包的composer.json:
composer-php - 作曲家未满足要求
在作曲家设置中,我需要vendor/package-A
和vendor/package-B
.
包 B 建立在包 A 的基础上,并在其 composer.json 中将 A 定义为需求。
直接安装基础包 A 工作正常。其他需求由 Packagist 解决,并且包本身从私有存储库中正确提取。
但是,当只安装包 B 时(由于要求,它也应该拉入包 A),我收到以下错误:
这两个包都没有任何标记的版本,并且在 dev-master 版本上运行。
有什么我忽略的吗?
编辑
对于那些对解决方案感兴趣的人,这是我从下面选择的答案中学到的总结。
基本上,存在三种方法来安装深度 dev-master 依赖项。按照最推荐的顺序:
标记所有版本并使用标记的版本约束,而不是到处使用 dev-master。(我实际上最终这样做了!)
在您的应用程序中,使用您在 dev 中所需的相应子依赖
composer.json
的标志添加一个额外的 require 键:@dev
这样,您基本上可以将要用作开发的特定子依赖项列入白名单。
在您的应用程序中
composer.json
,添加minimum-stability
和prefer-stable
键,如下所示。在最后一种方法中,您将稳定性约束降低为 dev,但您还设置了如果稳定版本可用,您会更喜欢那个版本。大多数情况下,这会产生想要的行为,但有时它可能很古怪。
php - 满足循环依赖
我有一个包含多个包的项目每个包都在一个私有 git 存储库中。
一些包相互依赖。
您可以在这里查看我的满意http://codepen.io/anon/pen/wBOEQW页面的外观。
现在,如果我克隆 project-xpto/core,并运行 composer update 我得到这个:
➜ php-core git:(master) composer update 使用包信息加载 composer 存储库 更新依赖项(包括 require-dev) 您的需求无法解析为一组可安装的包。
更多细节。
- satis.json => http://pastie.org/private/s0e2rxtnvpv9g7rpp415a
- composer.json xpto-core => http://pastie.org/10062586
- composer.json xpto-event => http://pastie.org/private/stxe2sbwpja8088knrldq
- composer.json xpto-tool => http://pastie.org/private/11o9wv94kvfprl5wjfibrq
- composer.json xpto-activity-streams => http://pastie.org/private/plieipe2gco1yt4gs0jxg
不应该满足解决所有依赖关系并且一切正常吗?
我做错了什么?
如果您需要其他任何内容,请询问我会在这里更新。
composer-php - Composer 满足,是时候构建私有包了
我在 Bitbucket 有很多私人存储库,大约有 100 个存储库 (+/-)。构建它们的php bin/satis build
时间需要很长时间,大约 3 分钟。如何刷新一个存储库或优化构建时间。因为我看到了一些满意的配置,其中config.json
文件包含超过 4000 个存储库。我无法想象建造这一切需要多少时间。
php - Satis 可以读取 composer.json,但不能检出其他文件
在我的个人 SVN 服务器(Linux、Svn、Apache 2、SSL、LDAP、DAV)上尝试了 Satis 后,效果很好;我正在尝试让它在我公司的 SVN 服务器(Windows、Visual SVN、SSL)上运行。
在这两种情况下,Satis 都在 Linux 下运行;我的是 Ubuntu,我公司的是 CentO。
在我公司的Satis实例上,它可以浏览仓库,它可以获取项目的composer.json,但它不会获取项目本身,与composer.json处于同一级别。
这是 satis.json 的匿名版本:
这是项目 composer.json 的匿名版本:
这是我执行 Satis 的方式:
最后,这是 Satis 的匿名详细结果:
[RuntimeException]
无法下载包,svn: OPTIONS de ' https://my-other-server.net/svn/project/trunk ': Échec à l'autorisation ( https://my-other-server.net )
其他元素:
- 调试时,我是 Satis 服务器上的 root,就像我执行它时一样
- 我试过 rm -rf /root/.composer
- 我试图在 Visual SVN 上授予 my-readonly-username 的完全权限
- 我试着喝更多的咖啡
这些都没有改变任何东西(除了咖啡)。
ssh-keys - Satis - 指定 SSH 密钥到 git 服务器
我有一个这样指定的 satis.json 文件:
然后我尝试通过运行以下命令来满足更新:
这将完全忽略我已指定公钥文件和私钥文件并继续要求我输入密码的事实。如果我每次工作时手动插入密码。如果我将 ssh 键移动到.ssh/id_rsa
并.ssh/id_rsa.pub
删除选项参数,那么它也可以工作。
问题
如何正确指定每个 repo 的密钥文件,以便我可以为不同的存储库使用不同的密钥,而不是依赖于一个密钥.ssh/id_rsa
git - 在 satis 存档中包含 .git 存储库
我已经建立了一个私有的 Satis 服务器,它链接到托管在 BitBucket 上的包。
一切正常,除了我将 satis 配置为从 repos 创建下载,这样它会更快等。
问题是我需要将 bitbucket 中的 .git 目录包含到这些包构建中,但是当我运行 satis build 时,.git 目录从包存档中消失了。
bitbucket 或 satis 中是否有任何设置可用于将 .git 目录包含在包存档中?
这对我的工作流程至关重要,因为我想在使用这些包的项目中直接编辑 /vendor 文件夹中的文件,而不是为这些自定义更改创建分支并将其推回 bitbucket。
非常感谢。
jenkins - 无法让 Jenkins 使用 Satis 存储库
我遇到了 Jenkins 和 Satis 的问题,我收到以下错误
当 Jenkins 尝试从 Satis 安装软件包时。显然身份验证有问题,但我不知道是什么。我已经为 jenkins 用户设置了带有 bitbucket(repo 所在的位置)的 ssh 密钥,并重新启动了 jenkins。
我知道有一个 auth.json 文件可以使用,但它以纯文本形式存储基本的身份验证信息,我真的不想要。