Laravel Sail:输入设备不是TTY
Laravel Sail: the input device is not a TTY
我正在使用 Laravel Envoy 和 GitLab CI/CD 来部署我的应用程序,当我尝试 运行 使用 Sail 安装 npm 时,出现以下错误:
the input device is not a TTY
这是我的特使任务:
@task('run_compile')
{{ logMessage("Running compile...") }}
cd {{$deploy_path}}
./vendor/bin/sail npm ci
{{ logMessage("Npm packages installed") }}
./vendor/bin/sail npm run prod --silent --no-progress
{{ logMessage("Npm packages built") }}
rm -rf node_modules
{{ logMessage("Compile completed") }}
@endtask
找到了解决方法,而不是使用 Laravel Envoy 将命令代理到容器中,我 运行 自己:
docker exec $(docker-compose ps -q) npm ci
我认为命名您的 Laravel 容器并 运行 执行以下命令是更好的方法。
docker exec laravel_sail_shop npm ci
例如在 docker-composer.yml 中你可以这样命名 Laravel sail 容器
version: "3"
services:
laravel.test:
build:
context: ./vendor/laravel/sail/runtimes/8.0
dockerfile: Dockerfile
args:
WWWGROUP: "${WWWGROUP}"
image: sail-8.0/app
container_name: laravel_sail_shop
ports:
- "8084:80"
environment:
WWWUSER: "${WWWUSER}"
LARAVEL_SAIL: 1
volumes:
- ".:/var/www/html"
networks:
- sail
depends_on:
- mysql
- redis
然后在你的 .gitlab-ci.yml 运行 命令中,而不是使用 Laravel Sail:
- docker exec laravel_sail_shop composer install
- docker exec laravel_sail_shop php artisan migrate --seed
- docker exec laravel_sail_shop php artisan cache:clear
- docker exec laravel_sail_shop php artisan config:clear
我正在使用 Laravel Envoy 和 GitLab CI/CD 来部署我的应用程序,当我尝试 运行 使用 Sail 安装 npm 时,出现以下错误:
the input device is not a TTY
这是我的特使任务:
@task('run_compile')
{{ logMessage("Running compile...") }}
cd {{$deploy_path}}
./vendor/bin/sail npm ci
{{ logMessage("Npm packages installed") }}
./vendor/bin/sail npm run prod --silent --no-progress
{{ logMessage("Npm packages built") }}
rm -rf node_modules
{{ logMessage("Compile completed") }}
@endtask
找到了解决方法,而不是使用 Laravel Envoy 将命令代理到容器中,我 运行 自己:
docker exec $(docker-compose ps -q) npm ci
我认为命名您的 Laravel 容器并 运行 执行以下命令是更好的方法。
docker exec laravel_sail_shop npm ci
例如在 docker-composer.yml 中你可以这样命名 Laravel sail 容器
version: "3"
services:
laravel.test:
build:
context: ./vendor/laravel/sail/runtimes/8.0
dockerfile: Dockerfile
args:
WWWGROUP: "${WWWGROUP}"
image: sail-8.0/app
container_name: laravel_sail_shop
ports:
- "8084:80"
environment:
WWWUSER: "${WWWUSER}"
LARAVEL_SAIL: 1
volumes:
- ".:/var/www/html"
networks:
- sail
depends_on:
- mysql
- redis
然后在你的 .gitlab-ci.yml 运行 命令中,而不是使用 Laravel Sail:
- docker exec laravel_sail_shop composer install
- docker exec laravel_sail_shop php artisan migrate --seed
- docker exec laravel_sail_shop php artisan cache:clear
- docker exec laravel_sail_shop php artisan config:clear