php – 如何在Laravel中正确安装软件包?

前端之家收集整理的这篇文章主要介绍了php – 如何在Laravel中正确安装软件包?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
最近我安装了一个LaravelFacebookSdk软件包.

安装

我通过添加更新我的composer.json

  1. "sammyk/laravel-facebook-sdk": "~3.0"

然后,我运行作曲家更新

服务提供者

在我的/config/app.PHP中,我将LaravelFacebookSdkServiceProvider添加到providers数组.

  1. 'providers' => [
  2. SammyK\LaravelFacebookSdk\LaravelFacebookSdkServiceProvider::class,];

一切都很好然后,我把它推到我的存储库.

这里出现的问题!

第二个开发者进来了git pull并运行作曲家更新

他会得到一个错误

  1. SammyK\LaravelFacebookSdk\LaravelFacebookSdkServiceProvider::class,

是未定义的因为我在我的provider数组中的/config/app.PHP中声明了这一点.

他必须先注释掉该行,然后首先运行作曲家更新.一切顺利安装完成后,再返回并重新取消该行的注释.

其他开发人员每次都要这样做,我们安装了一个新的包?

我在这里遗漏了什么吗?

请告知我是否出了问题.

这里的问题是,有一个PHP artisan清除编译的命令被配置为在您的composer.json文件的更新过程之前运行.而且由于工匠是Laravel应用程序的组成部分,当应用程序代码出现问题时,它会抱怨.由于你有一个尚未存在的类的引用,它将会吐出RuntimeException.您可以通过将该命令从pre-update-cmd列表移动到composer.json中的post-update-cmd列表来修复.

所以改变这个:

  1. "scripts": {
  2. ...
  3. "pre-update-cmd": [
  4. "PHP artisan clear-compiled"
  5. ],"post-update-cmd": [
  6. "PHP artisan optimize"
  7. ]
  8. },

为此:

  1. "scripts": {
  2. ...
  3. "pre-update-cmd": [
  4. ],"post-update-cmd": [
  5. "PHP artisan clear-compiled","PHP artisan optimize"
  6. ]
  7. },

现在,清理编译的命令将在更新过程之后运行,当引用的LaravelFacebookSdkServiceProvider类存在时,所以没有更多的错误.

猜你在找的Laravel相关文章