composer 将远程的包更改为本地开发模式
有时候我们会遇到线上的 composer 开发包功能不是很完善,但是很多功能我们还能够用到,我们只能自己去修改一部分代码让这个包能够去运行,同时不使用 composer 进行更新,否则代码会再更新的时候再次被覆盖掉。
下边是以下几个步骤:
在 composer.json 中去掉调用
一般情况下,去掉包,包在进行更新的时候会自己删除。
在 vendor/composer/installed.json 中去掉这个已经安装的引用
这样在再次安装的时候这个包就会保留到本地,不会被删除掉。
在 composer.json 中加入对这个包的命名空间的映射
因为composer 的包都会自动进行加载,如果没有进行加载,则也是找不到这个文件,所以需要对命名空间做下映射
比如我们引用一个第三方包,他的命名空间是这样的:
"autoload": {
"psr-4": {
"Imvkmark\\L5Thumber\\": "src/L5Thumber"
}
},
我们需要在根目录下的 composer.json加入
"autoload": {
"psr-4": {
"Imvkmark\\L5Thumber\\": "vendor/imvkmark/l5-thumber/src/L5Thumber",
}
},
这样便能够对包的命名空间进行映射,同时进行修改了。
更新 composer.json
其实到这里已经结束,并且完成了自己的功能了。
这样我们可以不受顾忌的修改代码,并且同时给作者发送推送请求,等待作者更新这个代码,然后我们再改回来,这样我们又能够使用最新的库了。
您可能感兴趣的文章:
composer 将远程的包更改为本地开发模式
如何在Debian上安装和使用PHP Composer
提交PHP组件到Packagist 发布自己的Composer包
浅谈PHP组件、框架以及Composer
搭建php Laravel框架教程详解
Laravel 5.2 安装配置教程详解
Laravel 5.3安装配置用户手册
Lumen 5.2安装配置详解说明
常用php代码开发工具有哪些?
用Composer构建属于你的PHP框架