由于Composer.lock,Laravel Forge失败部署

时间:2017-10-18 21:35:00

标签: git laravel merge web web-deployment

单击部署时,我不断收到以下错误消息:

    From github.com:my account 
 * branch            master     -> FETCH_HEAD
   40fdcc7..8a338fb  master     -> origin/master
error: Your local changes to the following files would be overwritten by merge:
    composer.lock
Please, commit your changes or stash them before you can merge.
Aborting

我尝试删除composer.lock,gitignore和composer.lock文件,以及在服务器上执行git check,git stash,composer update和composer install,但这些命令或删除都不起作用。

我在这里缺少什么?

3 个答案:

答案 0 :(得分:1)

运行composer install时,会生成composer.lock并列出您安装的确切软件包。你应该提交这个文件。

然后在制作时,您应该运行composer install而不是composer update。更新会重新生成composer.lock文件并导致此问题,而composer install只会安装您在开发站点上安装的确切软件包和版本。

答案 1 :(得分:1)

employbl.com部署到Laravel Forge时,此错误对我有效:

cd /home/forge/employbl.com
git fetch origin master
git reset --hard FETCH_HEAD
git clean -df
composer install --no-ansi --no-dev --no-interaction --no-progress --no-scripts --optimize-autoloader
echo "" | sudo -S service php7.2-fpm reload
rm -rf node_modules

我认为OP产生的问题来自无法解决的合并冲突。这些最初的git命令可以有效擦除伪造服务器上的内容,并将您想要的代码部署到Internet!

答案 2 :(得分:0)

你能做的是

zip(…)

然后:

git fetch origin
git reset --hard origin/master