谁一开始就是大神?

关于composer问题[2.0]

请问自己在本机上用compsoer安装的工程可以正常跑,但是放上github后在服务器clone下来后提示确实vendor文件,有人告诉我需要用composer安装,我不太理解,请问具体应该怎么做呢,另外,其中的机制是什么,为什么直接把工程clone下来不是应该具备所有需要的文件了吗,谢谢

vendor目录都是一样的 而且原则上不允许任何手动修改,所以完全没有必要纳入版本控制(在.gitignore里配置)。只需要知道composer.json就能知道vendor下都有什么,所以你克隆下代码后要安装vendor。如果你怕本地安装的插件和服务器上的插件版本有差异导致bug,那么composer.lock文件就可以起作用了,它记录了你当时安装插件的具体版本,团队其他小伙伴也可以根据lock文件安装和你完全一样版本的插件(包括yii2核心文件)。
因为.gitignore把vendor忽略掉了,你的情况,可以这样处理:
  将根目录的.gitignore打开,注释掉对/vendor的忽略
  在vendor目录写个shell删除vendor中的所有.gitignore文件,每次执行过composer对vendor目录中的内容有更新,就执行一下这个shell,这样保证所有vendor的文件都能放到git库。比如clean.sh,内容如下:
  BTW,人家这样设计.gitignore是因为人家网速快,部署服务器的时候,执行一下composer update –prefer-dist即可得到vendor的文件。
帮忙顶下!
有忽略的文件。还得装忽略的文件
确定clone的根目录下有composer.jsoncomposer.lock
安装好composer后到命令行到你的根目录下执行:
然后vendor就回来了。

赞(0) 打赏
未经允许不得转载:菜鸟之家 » 关于composer问题[2.0]

评论 抢沙发

登录

找回密码

注册