Laravel 5项目迁移Composer依赖库后遇类找不到错误求助
解决Laravel 5手动迁移库后类找不到的问题
问题根源
你把库从vendor目录移出后,Composer的自动加载规则里不再包含这个库的命名空间映射,导致系统无法定位到对应的类文件。
具体解决步骤
整理文件结构
在项目根目录新建一个固定目录(比如packages/dgr/nohup),把原库的src目录(包含Nohup.php、Process.php等文件)放到这个目录下,最终形成packages/dgr/nohup/src/Nohup.php这样的路径结构。修改项目的composer.json
打开项目根目录的composer.json,找到autoload下的psr-4节点,添加该库的命名空间映射:"autoload": { "psr-4": { "App\\": "app/", "dgr\\nohup\\": "packages/dgr/nohup/src/" } }注:如果你把
src目录放在其他位置(比如app/Libraries/dgr/nohup/src),只需把路径改成对应位置即可,确保命名空间和实际文件路径一一对应。重新生成自动加载文件
在项目根目录执行命令:composer dump-autoload
额外检查点
- 确认库文件顶部的命名空间声明正确,每个类文件开头必须有
namespace dgr\nohup; - 文件名和类名要严格一致(比如
Nohup.php对应Nohup类,大小写也要完全匹配)
内容的提问来源于stack exchange,提问作者Steve Cater
相关产品推荐
相关产品推荐

