强制编写器重新生成自动加载.依赖项的Json被更改

  • 本文关键字:依赖 加载 Json 新生 composer-php
  • 更新时间 :
  • 英文 :


我开发Symfony包的工作流程如下:

  • 安装Symfony
  • 为新包创建一个git仓库,放入一个编译器。json文件在那里
  • 要求在顶层编写器中使用新包。使用@dev version
  • composer update newpackage =>包被下载,使用git clone
  • 在供应商内部的git克隆上工作,从它提交和推送

这一切都很好,但似乎在一个特定的情况下中断:如果我改变已经安装的包的' autolload '标签,似乎Composer很难考虑它:

  • 我尝试了'composer dumpautolload ',它什么也不做
  • 我不想删除编写器。因为我不希望其他包被更新到一个新版本,我只想改变那个包的自动加载配置
  • 我尝试手动删除vendor/composer/installed。发生的事情是Composer重新下载了所有的供应商,并删除了当时发生在那里的任何数据

当我在一个单独的克隆上更改包的自动加载部分,将更改推送到git并运行'composer update mypackage'时,同样的问题也出现了——尽管这可能与packagist没有收到来自github的ping有关。

我当然可以手工修改作曲家。Lock和vendor/composer/installed。Json文件,但这似乎太粗糙了。它也不能保证第一次下载包的用户会看到它工作。

尝试:

./composer.phar dumpautoload -o

它读取composer.json文件并重写所有选择新路径的自动加载文件。

dumpautoload使用来自vendor/composer/installed.json的包信息,而不是单个composer.json文件。您还需要更改那里的自动加载信息

文件已安装。只有当你运行

时,Json才会更新
composer update

相关内容

  • 没有找到相关文章

最新更新