问题:开学前疯玩了近半个月,今天终于开始要学习了
这个问题是上个月遗留的问题,composer安装laravel后将项目通过git上传到远程仓库出现了部分文件丢失导致从git clone项目不能立马运行。这是因为git将vendor忽略了,至于具体啥原因之前有看到,但是现在有点模糊了,之后找到在补上。
解决:阅读原文
知道没人喜欢啰嗦,直接上解决方案再说说我的'遭遇':
-
解决vendor缺失的问题:
从github上clone代码后,切换到项目根目录,在powershell中运行composer install,这个命令可以让系统自动从composer.json文件中读取配置信息,进行第三方类库的下载,并放到新生成的vendor文件夹下.
-
解决.env文件缺失的问题:
①.同样的切换到安装laravel的根目录,运行命令copy .env.example .env
②.运行php artisan key:generate命令来生成key
以上解决方案已通过测试!
最近在github上托管了自己的一个小程序,采用laravel框架开发.发现了一个问题,用composer下载的laravel发布到github上的时候,一些文件和文件夹会自动被忽略掉(后来知道是.gitignore这个文件中声明了一些种类的文件或目录,它们在git push的时候不会被同步),但是这就导致了一个问题:假如放到工作场景中,有新同事加入项目组,那他clone的代码并不是完整的,而且在本地根本无法运行(因为缺失vendor中的一些文件).当然可以把vendor从.gitignore中剔除出去,结果发现git add的时候运行了很久很久很久很久,因为laravel发展到现在官方自己就收录了很多第三方的轮子,导致一个vendor目录动辄几十甚至上百兆,关键是碎片文件太多,因此忽略发布vendor绝对是个明智之举.那新人进组之后应该怎么做呢,总不能线下找老员工把缺失的文件传过来吧.实际上可以在项目根目录运行命令composer install,前提是你本地已经安装了composer,它会自动下载依赖包并生成vendor来存放这些第三方类库.
这样vendor的问题就解决了,但是还是运行不起来,而且报错很少,只有一句话:Whoops, looks like something went wrong.这时需要开启调试模式:打开项目目录下config/app.php修改'debug' =>env('APP_DEBUG',false)为'debug' =>env('APP_DEBUG',true).然后按照上边的解决方案生成一个key就完美解决了问题