手动添加三方vender依赖包

composer 的自动加载

先讲一下composer的自动加载

如果拓展包第三方没有提供 composer 安装方法,手动将其放在vendor目录下,那么,就需要手动添加需要自动加载的目录或者文件。
composer.json 文件里的 autoloadclassmap 里加上第三方包的文件夹路径,如果是单独自动加载某个文件,则将其放在 files 里面。

例如:”vendor/briannesbitt”
composer.json里面添加:

1
2
3
4
5
6
7
8
9

"autoload": {
"classmap": [
"vendor/briannesbitt"
],
"psr-4": {
"App\\": "src/"
}
},

手动添加三方vender依赖包

1、前提

前提是我们需要将vender上传到服务器,在项目.gitignore中是排除了vender的。

2、寻找依赖包

以nesbot/carbona为例

地址:https://packagist.org/packages/nesbot/carbon

3、安装依赖包

通常的做法肯定是通过命令composer require nesbot/carbon来引入依赖包,但是在很多时候由于环境问题或者其他各种奇怪问题导致是无法引入的,这时候我们需要通过另外的方式来引入进去;

============================================================
下面介绍手动添加依赖包方法:
在Packagist上找到想要的依赖包,然后进入对应的github地址:

2020

在项目vender中新建文件夹briannesbitt,名字一般取github上的前缀名,然后再briannesbitt下执行git clone 依赖包,此时的文件路径应该是/vendor/briannesbitt/Carbon这样,***** 如果不满足这样的路径格式,在git上传vender代码的时候会将一个空文件夹上传到服务器

4、删除依赖包中的git配置

Carbon包是从github上面pull下来的,里面含有git配置,如果这个时候执行git add . 会提示含有git子模块,会上传不成功
解决:
1)、删除 Carbon包下面的.git文件夹
2)、删除 Carbon包下面的.gitignore文件

5、自动加载配置

由于在是外部引入的依赖包,很有可能自动加载不了,此时需要遭composer.json里面进行手动配置自动加载,也就是文章开头讲到的知识点;

1
2
3
4
5
6
7
8
"autoload": {
"classmap": [
"vendor/briannesbitt"
],
"psr-4": {
"App\\": "src/"
}
},

6、刷新代码注入

此时也很有可能提示引入的依赖包无法使用,报错等问题,是由于代码注入没有刷新导致的

执行:

1
composer dump-autoload
谢翔 wechat
坚持原创技术分享,您的支持将鼓励我继续创作!
-------------本文结束感谢您的阅读-------------
0%