Laravel Forge因Composer.lock而无法部署

gywdnpxw  于 2023-02-14  发布在  其他
关注(0)|答案(4)|浏览(149)

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

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检查、git stash、composer更新和composer安装,但这些命令或删除操作都不起作用。
我错过了什么?

5cnsuln7

5cnsuln71#

在将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命令有效地清除了forge服务器上的内容,并将您想要的代码部署到互联网上!

iyr7buue

iyr7buue2#

当你运行composer install时,composer.lock会被生成,并列出你安装的确切的包。你应该提交这个文件。
然后在生产环境中,您应该运行composer install而不是composer update。更新会重新生成composer.lock文件并导致此问题,而composer install只是安装您在开发站点上安装的包和版本。

q35jwt9p

q35jwt9p3#

你能做的就是

git fetch origin
git reset --hard origin/master

然后:

git clean -f
wrrgggsh

wrrgggsh4#

  1. git重置--硬
  2. git清理-df
  3. composer 更新

相关问题