Composer 不生成库的自动加载

2023-11-21

我已经设置了两个项目,一个“init”和一个库,这是 init 所需的。它们都设置了 PSR-0 自动加载,但库中的自动加载值不会添加到 init 项目中的vendor/composer/autoload_namespaces.php 中。

库中的示例composer.json:

{
    "name": "lxp/library",
    "description": "A test library",
    "autoload": {
        "psr-0": {
            "LXP\\Library": "src/"
        }
    }        
}

来自需要该库的项目的示例composer.json:

{
    "name": "lxp/init",
    "name": "A test init",
    "autoload": {
        "psr-0": {
            "LXP\\Init": "src/"
        }
    },
    "repositories": [
        {
            "type": "composer",
            "url": "http://satis.repo.redacted/"
        }
    ],
    "require": {
        "lxp/library": "dev-master"
    }
}

该库在文件 src/LXP/Library/Something.php 中包含类 LXP\Library\Something。

需要该库的项目在文件 src/LXP/Init/Now.php 中包含类 LXP\Init\Now。

当在“init”项目中运行composer install时,它会下载库项目并将其正确放入供应商中,但vendor/composer/autoload_namespaces.php不包含库的自动加载信息,仅包含当前项目的信息。

我究竟做错了什么?如果我在库项目中运行 dump-autoload ,则 autoload_namespaces.php 文件是正确的,并且快速引导脚本确认它确实获取了该类。

编辑-这是 satis 生成的 packages.json 的问题。为了解决这个问题,我必须将库的composer.json中的自动加载信息添加到我提供给satis的json文件中,这似乎是不必要的重复,所以我可能做错了。是否有一个地方可以存储 Satis 库的自动加载信息?例如,satis 可以读取它扫描的库中存在的composer.json 文件吗?

编辑#2 - Satis 不会从指定为“package”类型的存储库读取composer.jsons。事后看来,这是显而易见的,因为“package”用于没有composer.json的库,并且是一种围绕它们包装类似composer的依赖管理的方法。

将 satis.json 的存储库更改为“vcs”类型意味着读取了composer.json,并且解析了信息(包括自动加载规范)并将其存储在packages.json中。

@Seldaek - 感谢您建议我的 satis 配置是问题所在,我希望这可以为处于我位置的其他人澄清 satis / 作曲家的行为。


我发现您可能犯了两个可能导致此问题的错误:

  • 您忘记更新 satis 存储库,因此 lxp/init 的自动加载配置不是最新的
  • 您正在从锁定文件运行composer安装,这意味着composer只是从composer.lock文件中读取信息,并且不会将包元数据更新到satis中可用的最新版本。要解决这个问题,你应该运行composerupdate反而。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Composer 不生成库的自动加载 的相关文章

  • 如何使用 PHP 正确添加跨站请求伪造 (CSRF) 令牌

    我正在尝试为我网站上的表单添加一些安全性 其中一个表单使用 AJAX 另一个表单是简单的 联系我们 表单 我正在尝试添加 CSRF 令牌 我遇到的问题是令牌有时只显示在 HTML 值 中 其余时间 该值为空 这是我在 AJAX 表单上使用的
  • 优雅地处理没有数据的 amcharts

    我想知道我的 dataProvider 是否为空 amCharts绘制时默认为null 我怎样才能动态地处理它 var chart AmCharts makeChart chartdiv theme none type serial dat
  • 如何检查PHP变量是否包含非数字?

    我只是想知道检查 PHP 变量中是否有非数字的方法以及它是否也检测字符之间的空格 需要确保我的表单字段中没有添加任何奇怪的内容 提前致谢 如果您的意思是您只想要一个包含数字的值 那么您可以使用ctype digit http php net
  • MySQL/PDO::quote() 尽管使用 PDO::PARAM_INT 参数,但仍在整数周围加上引号

    无论我传递给什么值 数据类型对 它都会出现 pdo gt quote value type 它总是将其引用为字符串 echo pdo gt quote foo PDO PARAM STR foo as expected echo pdo g
  •  
    标记内删除

    我制作了简单的 BBCode 脚本 一切正常 但后来我使用了一个 javascript 库来美化我的代码 pre pre 现在我面临的唯一问题是 br 每行代码后面的标签 pre pre tags 所以问题是我怎样才能删除 br 标记哪些在
  • 如何从父类函数访问子类中定义的常量?

    我从 php net 看到这个例子 但 c MY CONST 仅在 5 3
  • PHP严格标准:声明应该兼容

    我有以下类层次结构 class O Base class O extends O Base abstract class A Abstract public function save O Base obj class A extends
  • 如何在原则 2 迁移中删除外键

    我想在原则 2 迁移中删除外键 但没有 dropForeignKeyConstraint 有谁知道怎么丢掉吗 public function down Schema schema table schema gt getTable table
  • PHP 在输入流中使用 fwrite 和 fread

    我正在寻找将 PHP 输入流的内容写入磁盘的最有效方法 而不使用授予 PHP 脚本的大量内存 例如 如果可以上传的最大文件大小为 1 GB 但 PHP 只有 32 MB 内存 define MAX FILE LEN 1073741824 1
  • Woocommerce 结账自定义选择字段

    我有以下功能 将选择列表添加到 woo commerce 结账表单中 woocommerce form field airport pickup array type gt select class gt array airport pic
  • php 错误 fopen(): 文件名不能为空

    发送带有附件代码的电子邮件工作正常 最近我们已将文件传输到另一个托管服务器 idk 发生了什么 它显示以下错误 警告 fopen 第 106 行 home hugerecruitmetnt public html validatecva p
  • Doctrine EntityManager 清除嵌套实体中的方法

    我想用学说批量插入处理 http doctrine orm readthedocs org en latest reference batch processing html为了优化大量实体的插入 问题出在 Clear 方法上 它表示此方法
  • CURL 中的 data-urlencode 是什么意思?

    我搜索了很多个小时试图弄清楚 php curl 中的 data urlencode 是什么 我尝试过这个 但我认为这是不对的 xmlpost object1 file https www lob com goblue pdf 在文档中是 d
  • Laravel 中只向登录用户显示按钮

    如果我以 John 身份登录 如何才能只显示 John 的红色按钮而不显示 Susan 的红色按钮 测试系统环境 Win10 Laravel5 4 Mysql5 7 19 table class table table responsive
  • php,统计字符并删除超过140个字符的内容

    我需要一个 PHP 函数来计算短语的字符数 如果短语长度超过 140 个字符 则此函数应删除所有其他字符并在短语末尾添加三个点 例如我们有 message I am what I am and you are what you are et
  • 为什么 Composer 降级了我的包?

    php composer phar update这样做了 删除了 2 3 0 软件包并安装了整个 2 2 5 Zend Framework php composer phar update Loading composer reposito
  • 简单的 PHP 表单:电子邮件附件(代码 Golf)

    想象一下 一个用户想要在其网站上放置一个表单 该表单将允许网站访问者上传一个文件和一条简单的消息 该消息将立即通过电子邮件发送 即 该文件未存储在服务器上 或者如果该文件存储在服务器上 仅暂时 作为文件附件 并在邮件正文中添加注释 查看更多
  • 如何使用 PHPExcel 库从 Excel 获取日期

    我正在尝试使用 PHPExcel 从 Excel 获取日期 但我没有得到日期 我得到的字符串值不是 1970 以来的秒数 我尝试过的代码是 InvDate trim excel gt getActiveSheet gt getCell B
  • 对具有混合类型值的数组进行数字排序

    我有一个像这样的混合数组 fruits array lemon Lemon 20 banana apple 121 40 50 然后申请sort 其功能如下 sort fruits SORT NUMERIC foreach fruits a
  • 无法显示 Laravel 欢迎页面

    我的服务器位于 DigitalOcean 云上 我正在使用 Ubuntu 和 Apache Web 服务器 我的家用计算机运行的是 Windows 7 我使用 putty 作为终端 遵循所有指示https laracasts com ser

随机推荐

  • 重复的键值违反了唯一约束 - 尝试从 dask 数据帧创建 sql 表时出现 postgres 错误

    继从this问题 当我尝试从具有多个分区的 dask dataframe 创建 postgresql 表时 出现以下错误 IntegrityError psycopg2 IntegrityError duplicate key value
  • 使用全局变量在模块之间共享数据库

    我正在使用 mongodb 模块开发一个nodejs mongodb应用程序 该应用程序启动时使用 node main js 在 main js 中 我连接到数据库并将连接保留在 db 全局变量中 然后在 server 的内部方法中使用 d
  • 如何将切片转换为数组引用?

    我有一个 u8 并想把它变成一个 u8 3 无需复制 它应该引用原始数组 我怎样才能做到这一点 从 Rust 1 34 开始 您可以使用TryFrom TryInto use std convert TryFrom fn example s
  • 如何记录对 PHP 中函数的所有调用? (邮件()函数)

    我有一个带有数十个虚拟主机的专用服务器 我想确定哪个文件正在调用 mail 函数并全局记录它 我需要这样的东西 Wed Feb 13 10 42 39 2013 mail called from var www example1 php o
  • 了解 Ruby 中赋值和逻辑运算符的优先级

    我无法理解以下示例中 Ruby 运算符的优先级 x 1 y 2 Since 优先级高于 我的理解是类似于 and 运营商 1 2 3 4 其解析为 1 2 3 4 它应该等于 x 1 y 2 然而 所有 Ruby 源代码 包括内部语法解析器
  • 在 Dart 中什么时候使用 mixins 以及什么时候使用接口?

    我非常熟悉接口和抽象类的概念 但不太熟悉mixins 现在 在 Dart 中 每个类A定义一个隐式接口 可以由另一个类实现B通过使用implements关键词 没有明确的方法来声明接口 例如在 Java 中 接口仅包含未实现的方法 最终包含
  • 将 S3(法兰克福)与 Spark 结合使用

    有人在法兰克福使用 hadoop spark 1 6 0 来使用 s3 吗 我试图将作业的结果存储在 s3 上 我的依赖项声明如下 org apache spark spark core 1 6 0 exclude org apache h
  • @ngrx 中的效果中的连锁动作

    我在发出 HTTP 请求的 Effect 中一个接一个地链接操作时遇到一些问题 效果代码如下 export class UserEffects Effect update Observable
  • Spring中的form:label标签有什么优点?

  • 在 CI 环境中编写“heroku 登录”脚本

    是否有一种受认可的方法来编写脚本或绕过 Heroku Toolbelt 的登录提示 我遇到过许多声称提供解决方案的黑客 期望环境变量 在 netrc 中插入环境变量等 但我真的很想找到一个稳定的解决方案 根据我在文档中看到的内容 可以通过三
  • Castle Windsor - 我是否必须释放单例或非一次性瞬态对象?

    The 城堡维基在几个地方说我应该始终为通过容器解析的组件调用container Release 这对于复杂的生活方式管理技术 例如 LifeStyle Pooled 或使用专门的设施时显然是有意义的 但是我真的必须释放单例 在容器被处置之
  • jQuery 通过按类搜索来获取元素的 id

    这是我的html div class head div div div class some box a div div class some box b div div div 我想使用该 div 的类 head div 获取父 div
  • 为什么调用 FnOnce 闭包是一个举动?

    我试图将一个闭包传递给一个函数 然后该函数将在函数范围内改变传递给它的某些内容 根据我目前对 Rust 的理解 应该是这样的 pub fn call something callback FnOnce mut Vec
  • 调试器无法看到 Lambda 中的局部变量

    我注意到 当我将鼠标悬停在局部变量上时 当我的调试器停止在 lambda 内时 它会报告Cannot find local variable variable name 即使它在 lambda 内部可见并且已被使用 示例代码 public
  • python argparse 设置未提供参数时的行为

    我对 python 相当陌生 并且在使用命令行参数时一直困扰着如何构建我的简单脚本 该脚本的目的是自动执行我工作中与排序和操作图像相关的一些日常任务 我可以指定参数并让它们调用相关函数 但我也想在未提供参数时设置默认操作 这是我当前的结构
  • 如何以角度模拟模块

    所以我读了很多帖子 但到目前为止还没有有效的建议 我想模拟一个模块 比如说 angular foo 原始文件与其他所有文件一起加载 angular module app angular foo 我想在我的业力 摩卡测试中模拟这个模块 我已经
  • R:在深度嵌套列表中按名称查找对象

    Problem 我认为这应该是一个常见问题 但我找不到解决方案 让我们假设一个深度嵌套的列表 例如 my list lt list first node list group a list E001 1 5 E002 list F001 6
  • 将 JSON.NET JObject 转换为 JsonResult 时出现异常

    我有一个 JSON NET JObject 其数据结构如下 foo bar baz 我试图将其转换为 ASP NET MVC JsonResult 如下所示 JObject someData JsonResult jsonResult Js
  • 快速测试目录是否为空

    测试目录是否为空的最快方法是什么 当然我可以检查的长度 list files path all files TRUE include dirs TRUE no TRUE 但这需要枚举我宁愿避免的目录的全部内容 EDIT 我正在寻找便携式解决
  • Composer 不生成库的自动加载

    我已经设置了两个项目 一个 init 和一个库 这是 init 所需的 它们都设置了 PSR 0 自动加载 但库中的自动加载值不会添加到 init 项目中的vendor composer autoload namespaces php 中