Call to undefined method PHPExcel_Reader_CSV::setLineEnding () 解决办法

今天遇到了一个问题,当升级laravel-excel包后,会报标题描述的错误,通过Maatwebsite/Excel官方GitHub的issue找到了问题的原因:
首先要知道,通过composer安装Maatwebsite/Excel会自动安装phpoffice/phpexcel这个依赖包,问题就出在这个上面了:
就是今天,"phpoffice/phpexcel"升级到了1.8.1版本,运行composer update后,"phpoffice/phpexcel"由1.8.0升级到了1.8.1,这两个版本的区别就是,在1.8.1版本去掉了setLineEnding,所以,解决办法就是将版本锁定到1.8.0版本
于是,我就这么干了:

"require": {
    "laravel/framework": "5.0.*",
    "illuminate/html": "~5.0",
    "barryvdh/laravel-debugbar": "~2.0",
    "maatwebsite/excel": "~2.0.0",
    "phpoffice/phpexcel": "1.8.0"
},

需要注意的是,"phpoffice/phpexcel": "1.8.0"才行,"phpoffice/phpexcel": "~1.8.0"还是会将版本升级到1.8.1

发这里,方便Google没有查到的朋友,通过这次问题,我发现我解决问题的习惯性错误:"先不去官方找解决方案,白搜索半天浪费不少时间还是没有解决,个人认为,这解决问题的思路好像是反了".

最后,谢谢大家批评.

参考:https://github.com/Maatwebsite/Laravel-Exc...

《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 2
Summer

哈哈, 记录贴 :+1:

8年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!