首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >是否在更改依赖项的composer.json时强制composer重新生成自动加载?

是否在更改依赖项的composer.json时强制composer重新生成自动加载?
EN

Stack Overflow用户
提问于 2015-09-05 19:43:44
回答 3查看 12.3K关注 0票数 8

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

  • install Symfony
  • 为新捆绑包创建一个git存储库,将composer.json文件放在其中
  • 需要在顶层更新中的新软件包,使用@dev composer.json
    • composer.json =>软件包被下载,使用git克隆
    • 在git克隆供应商内部工作,并从中提交和推送

    F211

这一切都很好,但似乎在一个特定的情况下打破了:如果我改变了已经安装的软件包的'autoload‘标签,似乎Composer很难考虑到它:

  • 我尝试了'composer
  • ‘,它没有任何作用,我不想删除composer.lock文件,因为我不想让其他包被更新到更新的版本,我只想更改
  • 我尝试手动删除的那个包的自动加载配置/ Composer /Installed.json,发生的是Composer重新下载了所有的供应商,并擦除了当时

中碰巧存在的任何数据

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

当然,我也可以手动修改composer.lock和vendor/composer/installed.json文件,但这似乎太麻烦了。它也不能保证用户第一次下载包就会看到它的工作。

EN

回答 3

Stack Overflow用户

发布于 2018-06-09 04:27:47

尝试:

代码语言:javascript
复制
./composer.phar dumpautoload -o

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

票数 8
EN

Stack Overflow用户

发布于 2017-04-21 03:45:23

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

票数 4
EN

Stack Overflow用户

发布于 2019-06-18 22:39:24

文件installed.json仅在您运行

代码语言:javascript
复制
composer update
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32412679

复制
相关文章

相似问题

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