如何避免 Composer 出现 "Could not scan for classes inside" 错误?
How to avoid "Could not scan for classes inside" error with Composer?
(我知道其他人对此有 written,但在这种情况下答案似乎没有帮助)
我有一个 WordPress PHP 插件(https://github.com/LiquidChurch/lqd-messages/) which uses WDS-Shortcodes which in turn uses TGM-Plugin-Activation。当我从 lqd-messages 插件中 运行 composer install
时,我收到以下错误:
In ClassMapGenerator.php line 69:
Could not scan for classes inside "/lqd-messages/vendor/webdevstudios/wds-shortcodes/vendor/tgmpa/tgm-plugin-activation/class-tgm-plugin-activation.php
" which does not appear to be a file or folder"
然后我可以进入 /lqd-messages/vendor/webdevstudios/wds-shortcodes/vendor
并看到没有 tgmpa 文件夹。
如果我然后返回 /wds-shortcodes
和 运行 composer install
,tgmpa 文件夹将成功创建。
显然,这不太理想。有没有办法绕过这些额外的步骤?
这是 webdevstudios/wds-shortcodes
包中的错误 - 他们的 autoloadig settings 不正确。依赖项不应声明从 vendor
目录内的其他依赖项加载文件 - 这不是他们关心的(并且这些文件在某些情况下不存在,例如您的情况)。
我只能建议分叉此包并修复自动加载设置:
"autoload": {
"classmap": ["includes/"]
},
顺便说一句:您在 your package 中犯了同样的错误。
(我知道其他人对此有 written,但在这种情况下答案似乎没有帮助)
我有一个 WordPress PHP 插件(https://github.com/LiquidChurch/lqd-messages/) which uses WDS-Shortcodes which in turn uses TGM-Plugin-Activation。当我从 lqd-messages 插件中 运行 composer install
时,我收到以下错误:
In ClassMapGenerator.php line 69:
Could not scan for classes inside "
/lqd-messages/vendor/webdevstudios/wds-shortcodes/vendor/tgmpa/tgm-plugin-activation/class-tgm-plugin-activation.php
" which does not appear to be a file or folder"
然后我可以进入 /lqd-messages/vendor/webdevstudios/wds-shortcodes/vendor
并看到没有 tgmpa 文件夹。
如果我然后返回 /wds-shortcodes
和 运行 composer install
,tgmpa 文件夹将成功创建。
显然,这不太理想。有没有办法绕过这些额外的步骤?
这是 webdevstudios/wds-shortcodes
包中的错误 - 他们的 autoloadig settings 不正确。依赖项不应声明从 vendor
目录内的其他依赖项加载文件 - 这不是他们关心的(并且这些文件在某些情况下不存在,例如您的情况)。
我只能建议分叉此包并修复自动加载设置:
"autoload": {
"classmap": ["includes/"]
},
顺便说一句:您在 your package 中犯了同样的错误。