我使用的是工匠,对npm解决方案没有任何问题。但是,我已经使用“设置我”的指令设置了composer,即安装了~/.composer/config.json & ~/.composer/auth.json文件。现在,当我尝试执行composer安装时,会出现以下错误:
$ dcomp install
Loading composer repositories with package information
[Composer\Downloader\TransportException]
The "https://myartifactory.jfrog.io/artifactory/api/composer/php-local/packages.json" file could not be downloaded (HTTP/1.1 404 Not Found)
install [--prefer-source] [--prefer-dist] ...我在auth.json中配置的用户是一个管理用户,我已经将一个包推到Artifactory中。此外,我注意到url包含复数packages.json,而不是单数package.json,所以我假设这是手工配置本身的问题,而不是我上传的包。
发布于 2020-10-01 18:32:36
在我的例子中,正如一对评论者所观察到的那样:索引不是生成的。
对我来说,修复是使用.zip压缩文件来上传编写器包而不是.tar.gz。我不能告诉您为什么tarball不能工作,特别是考虑到Artifactory的文档明确提到了tar.gz,但是.zip似乎是最好的选择。
发布于 2020-09-23 15:50:45
要使Artifactory成功地索引composer包,还需要确保每个包都指定了版本。
实现这一目标有三种方法:
您可以通过单击刚刚上载的归档文件轻松地在UI中测试它,然后转到属性选项卡并添加一个属性,例如:
值的composer.version (例如1.0.0 )。
发布于 2020-10-01 12:33:24
当您第一次在Artifactory中创建PHP存储库时,它还没有存储库索引(package.json文件)。只有在部署了第一个包之后才会创建索引。
Artifactory可能无法读取您部署的包的包元数据。在这种情况下,假设这是存储库中的唯一包,则不会计算索引。
为了核实情况是这样的:
php-local存储库,检查是否存在.composer/packages.json文件(相对于存储库根)。如果不存在,则表明Artifactory无法计算存储库索引composer.json文件中)未能为'php-local/my-package.zip‘持久化包元数据。无法从提取的composer.json文件中读取包版本
如果是这样的话,您可以通过以下方式解决这个问题:
composer.version的属性添加到composer包中,并将其值设置为正确的包版本。您可以从UI中选择包文件,切换到属性选项卡,并添加一个新的属性packages.json文件正在生成如果所有这些都没有帮助,并且仍然没有生成packages.json文件,那么可能还有另一个错误阻止Artifactory生成它。
尝试通过以下方法重新生成存储库索引:
。

索引应该在background
最后,还要尝试的另一个选项是部署不同的composer包,并查看它的行为是否相同。
https://stackoverflow.com/questions/64030181
复制相似问题