首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >艺术作曲家packages.json 404

艺术作曲家packages.json 404
EN

Stack Overflow用户
提问于 2020-09-23 14:29:04
回答 4查看 760关注 0票数 2

我使用的是工匠,对npm解决方案没有任何问题。但是,我已经使用“设置我”的指令设置了composer,即安装了~/.composer/config.json & ~/.composer/auth.json文件。现在,当我尝试执行composer安装时,会出现以下错误:

代码语言:javascript
复制
$ 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,所以我假设这是手工配置本身的问题,而不是我上传的包。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2020-10-01 18:32:36

在我的例子中,正如一对评论者所观察到的那样:索引不是生成的。

对我来说,修复是使用.zip压缩文件来上传编写器包而不是.tar.gz。我不能告诉您为什么tarball不能工作,特别是考虑到Artifactory的文档明确提到了tar.gz,但是.zip似乎是最好的选择。

票数 1
EN

Stack Overflow用户

发布于 2020-09-23 15:50:45

要使Artifactory成功地索引composer包,还需要确保每个包都指定了版本。

实现这一目标有三种方法:

  1. 在包composer.json文件
  2. 中包含了version属性,在包本身上设置了composer.version属性。

您可以通过单击刚刚上载的归档文件轻松地在UI中测试它,然后转到属性选项卡并添加一个属性,例如:

值的composer.version (例如1.0.0 )。

票数 1
EN

Stack Overflow用户

发布于 2020-10-01 12:33:24

当您第一次在Artifactory中创建PHP存储库时,它还没有存储库索引(package.json文件)。只有在部署了第一个包之后才会创建索引。

Artifactory可能无法读取您部署的包的包元数据。在这种情况下,假设这是存储库中的唯一包,则不会计算索引。

为了核实情况是这样的:

  1. 浏览Artifactory UI
  2. 中的php-local存储库,检查是否存在.composer/packages.json文件(相对于存储库根)。如果不存在,则表明Artifactory无法计算存储库索引
  3. 选择您部署的包,并切换到Composer Info选项卡
  4. 检查是否可以看到正确的包版本。如果您看到“没有找到版本”--获取该版本(可能是因为它没有包含在composer.json文件中)
  5. 出现了一个问题,请查找类似于工件日志文件中的以下错误:

未能为'php-local/my-package.zip‘持久化包元数据。无法从提取的composer.json文件中读取包版本

如果是这样的话,您可以通过以下方式解决这个问题:

  1. 将名为composer.version的属性添加到composer包中,并将其值设置为正确的包版本。您可以从UI中选择包文件,切换到属性选项卡,并添加一个新的属性
  2. (如果正确的话),您应该能够在Composer Info选项卡中看到正确的版本,并且packages.json文件正在生成

如果所有这些都没有帮助,并且仍然没有生成packages.json文件,那么可能还有另一个错误阻止Artifactory生成它。

尝试通过以下方法重新生成存储库索引:

  1. 转到Artifactory UI
  2. 中存储库的根目录,右键单击存储库的根,然后选择“重新计算索引”

索引应该在background

  • If中生成,索引仍然没有生成,在工件日志文件中搜索任何相关的错误消息

最后,还要尝试的另一个选项是部署不同的composer包,并查看它的行为是否相同。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64030181

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档