2016-01-22 115 views
1

我有一个问题,我不知道如何解决它。我正在研究一个由git控制版本的项目。实际的框架通过作曲家(Yii2)安装。现在我切换了机器并想重新安装所有内容并将其更新为git存储库的当前状态。但无论采用哪种方式,首先使用composer安装框架或首先克隆git存储库,随后的步骤总是抱怨目录不是空的。克隆时出现的明显问题是,供应商目录会按照预期被忽略,即框架所在的位置。 Git也会抱怨,如果我先通过作曲者安装框架,然后拉仓库(错误:以下未跟踪的工作树文件将被合并:...覆盖)。让Composer和Git一起工作

任何想法如何解决这个问题?

在此先感谢

+0

我解决了一个解决方法:我克隆我的git仓库在一个文件夹中,并通过作曲家安装在另一个文件夹中的框架。然后,我将框架文件夹中的所有文件复制到git存储库文件夹中(当然也跳过了所有文件替换)。现在一切正常,但我认为这应该更容易一些,也许有更好的解决方案? –

回答

0

你应该使用Git第一克隆你的项目,然后再安装使用作曲家库,然后用这些库添加到目录的.gitignore。在我的项目中使用这种方式并且工作正常。即使你在git repo中有composer.json,你也只需要在git clone之后运行composer update并完成。

+0

是的,我看到我可能做错了..我应该使用“作曲家更新”,而不是“作曲家创建项目...” - 也看到我在SilverFire上面的评论..感谢回答和澄清! –

0

也许,我没有得到正确的问题,但你手工克隆yiisoft/yii2库?通常你不关心vendor目录和它的内容,因为它必须在git中被忽略。你必须有composer.json,需要"yiisoft/yii2": "*",就这些了。

要理解这一点,创建一个空目录,执行composer init,加Yii2要求线路和呼叫composer update - 它会创建vendor目录和滋润它都会,那是需要Yii2。

看看https://github.com/yiisoft/yii2-app-basic

+0

对不起,如果我不够清楚。我通过作曲家安装yii2,并且我希望我的其他文件可以从我的git存储库中克隆/提取。所以我要么 a)在所述目录中的第一个“git clone”(它创建我的项目目录),然后是“composer create-project ...”或b)“composer create project ....”,它创建我的项目目录然后在上述目录 中“git clone ...”出现错误。但我看到我可能做错了。我通过git首次获得了composer.json。因此,我应该宁愿使用“作曲家更新”而不是作曲家“创建项目...”? –