summerblue/administrator 不支持 Laravel 5.5+ 的解决办法

目前5.7版本已经用了一段时间了,除了前端换成bs4外,其他还有一些比较方便的改进,肯定比5.5的好一些,结果遇到了老大这个扩展包,居然限制为5.5版本,5.7版本的居然无法安装,好不郁闷,但我用5.7版本都做到这份上了,岂能轻易放弃!然后发现这里已经有高人解答了。但是自己搞清楚来龙去脉才是最重要的,因此研究了一晚上,终于搞清楚了。。

将包clone到本地:

mkdir packages
cd packages
git clone git@github.com:summerblue/administrator.git

在项目根目录的composer.json文件中加入配置, 这个写法出处在这里

"repositories": [
    {
        "type": "path",
        "url": "packages/administrator"
    }
],

修改 packages/administrator 的 composer.json 文件,将 "laravel/framework": "5.5.*"改为"laravel/framework": "^5.5"。 这一步非常重要,相当于允许5.5版本以上都可以安装,可能6.0的不行,但那有什么关系呢?好几年后的事情了!

安装(这一步很奇妙,神操作,原理: 大致就是 Next time we run Composer it will look at Packagist and into the given directory. Custom repositories have preference over Packagist. 正是因为这个先后顺序,才会直接为本地的包 packages/administrator 创建一个Symlink在 vendor/summerblue/administrator 目录下)

>> ll vendor/summerblue/administrator

lrwxr-xr-x 1 vagrant vagrant 28 Oct 22 20:18 vendor/summerblue/administrator -> ../../packages/administrator
>> composer require summerblue/administrator dev-master

由于本地已经有了包,而且本地包我们已经修改为5.7版本兼容,那么就不会去 Packagist 网站上去找了。

然后就可以publish config 配置文件了

php artisan vendor:publish --provider="Frozennode\Administrator\AdministratorServiceProvider"

接下来,用7.4的内容来测试,完全没有问题!OK!

日拱一卒
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 6

安装这一步能再解释一下吗,特别是那个软连接,到底怎么连接,我这里还是不行

5年前 评论

原来是这样的

ln -s ../../packages/administrator vendor/summerblue/administrator
5年前 评论
composer require summerblue/administrator dev-master

到这一步 我还是报错

5年前 评论

@jake_zou 额。。这个我也不清楚你的环境,原因很多,我这样可以解决,你再捣鼓一下吧

5年前 评论

@hustnzj
看到 站长的文章 我就明白了,软连接是不必要自己创建的,系统默认创建软连接,尴尬

5年前 评论

@jake_zou 是啊,我可没说要自己创建软链接,可能写得不够清楚,哈哈

5年前 评论

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