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"
安装这一步能再解释一下吗,特别是那个软连接,到底怎么连接,我这里还是不行
原来是这样的
到这一步 我还是报错
@jake_zou 额。。这个我也不清楚你的环境,原因很多,我这样可以解决,你再捣鼓一下吧
@hustnzj
看到 站长的文章 我就明白了,软连接是不必要自己创建的,系统默认创建软连接,尴尬
@jake_zou 是啊,我可没说要自己创建软链接,可能写得不够清楚,哈哈