Laravel Sail 不会在 Ubuntu 20.04 上构建 - groupadd:无效的组 ID 'sail'
Posted
技术标签:
【中文标题】Laravel Sail 不会在 Ubuntu 20.04 上构建 - groupadd:无效的组 ID \'sail\'【英文标题】:Laravel Sail won't build on Ubuntu 20.04 - groupadd: invalid group ID 'sail'Laravel Sail 不会在 Ubuntu 20.04 上构建 - groupadd:无效的组 ID 'sail' 【发布时间】:2021-07-17 08:08:17 【问题描述】: 我试图在新的 ubuntu 安装上使用 docker 设置 laravel/sail。 遵循本手册后:https://laravel.com/docs/8.x/installation#getting-started-on-linux我在起航时收到无效组 ID 航行错误(已创建别名,因此我不再需要使用 ./vendor/bin/sail up
)。
groupadd: invalid group ID 'sail'
ERROR: Service 'laravel.test' failed to build : The command '/bin/sh -c groupadd --force -g $WWWGROUP sail' returned a non-zero code: 3
【问题讨论】:
你能分享一下你设置风帆的具体步骤,以及你是如何创建别名的吗? @apokryfosalias sail='bash vendor/bin/sail'
不过没关系,./vendor/bin/sail up
也不行
剩下的步骤怎么样?
【参考方案1】:
如果您运行docker-compose up
,就会发生这种情况,如果您运行sail up
,它将按预期工作。
您可能需要先配置别名:
alias sail='bash vendor/bin/sail'
【讨论】:
docker 主机上没有安装 php,所以不能运行composer install
到依赖然后运行sails【参考方案2】:
您可以将其添加到 .env 文件中
WWWGROUP=1000
WWWUSER=1000
这两个值都应该是 1000,但你也可以从 bash 中获取它们
id -g <username>
id -u <username>
【讨论】:
我发现这是解决当前问题的有效解决方案,但它会导致其他不同的问题(使用 docker-compose 而不是 wail 包装器)。 peter.babic,你发现了哪些问题? @andrea-matioli 权限相关问题,目前还不能完全确定。我还发布了一个简短的,不是很有用的评论 Github 评论 here【参考方案3】:问题出在作曲家本身。重新安装并清除 docker 映像后,它开始构建它!
【讨论】:
由于直接运行docker-compose up
而不是使用sail up
,我得到了这个。似乎 shell 脚本做了很多额外的繁重工作。可能是您没有使用sail
命令进行初始构建,导致一些问题。【参考方案4】:
你可以通过运行这个来解决这个问题,然后再创建docker-compose up
:
export APP_SERVICE=$APP_SERVICE:-"laravel.test"
export DB_PORT=$DB_PORT:-3306
export WWWUSER=$WWWUSER:-$UID
export WWWGROUP=$WWWGROUP:-$(id -g)
这是sai每次运行命令时都会做的事情,但是当你直接运行docker-compose时,你需要先做。
你可以在这里看到这个:https://github.com/laravel/sail/blob/1.x/bin/sail#L21
【讨论】:
虽然它可能解决了问题,但真正的原因是直接使用了docker-compose
而不是sail
脚本。以上是关于Laravel Sail 不会在 Ubuntu 20.04 上构建 - groupadd:无效的组 ID 'sail'的主要内容,如果未能解决你的问题,请参考以下文章
无法在 .env 上为 Laravel Sail 设置 APP_PORT
带有 Laravel Sail 和版本控制的 Laravel 8 开发项目
Laravel Sail 正在关闭每个 Sails 命令的旧 Sail 进程