Rumah > rangka kerja php > Laravel > teks badan

Mari kita bincangkan tentang isu pembinaan belayar Mac Laravel docker

藏色散人
Lepaskan: 2021-11-16 14:47:00
ke hadapan
2673 orang telah melayarinya

Tulis monolog dahulu

Saya tidak menulis kod dalam PHP selama lebih daripada dua tahun, dan kini saya telah mengambilnya semula TP, tetapi kemas kini versi TP sangat tidak mesra, jadi kali ini saya menggunakan Laravel dalam satu langkah. Mari kita mulakan dengan persekitaran docker terlebih dahulu. Saya akan mencuba dan menulis semasa saya pergi. Saya juga berharap pengalaman newbie saya dapat membantu sesetengah orang.

[Disyorkan: Tutorial laravel]

1. Pemasangan Desktop Docker

Tutorial terperinci dalam forum

2. Jalankan bekas (terjumpa "lubang"!)

Saya mengikuti tutorial langkah demi langkah, tetapi operasi saya tidak berjalan lancar sehingga langkah keenam Situasi

ERROR: Service 'laravel.test' failed to build : Build failed
Salin selepas log masuk

Saya melihat log dengan teliti dan ralat muncul dalam

#9 7.166 Some packages could not be installed. This may mean that you have
#9 7.166 requested an impossible situation or if you are using the unstable
#9 7.166 distribution that some required packages have not yet been created
#9 7.166 or been moved out of Incoming.#9 7.166 The following information may help to resolve the situation:#9 7.166#9 7.166 The following packages have unmet dependencies:#9 7.262  gnupg : Depends: gpgv (< 2.2.19-3ubuntu2.1.1~) but 2.2.20-1ubuntu3 is to be installed
#9 7.264  perl : Depends: perl-base (= 5.30.0-9ubuntu0.2) but 5.32.1-3ubuntu2.1 is to be installed
#9 7.264         Recommends: netbase but it is not going to be installed
#9 7.264  perl-base : Breaks: perl (< 5.32.1~) but 5.30.0-9ubuntu0.2 is to be installed
#9 7.265  zlib1g-dev : Depends: zlib1g (= 1:1.2.11.dfsg-2ubuntu1.2) but 1:1.2.11.dfsg-2ubuntu6 is to be installed
#9 7.265               Depends: libc6-dev but it is not going to be installed or
#9 7.265                        libc-dev
#9 7.283 E: Unable to correct problems, you have held broken packages.
Salin selepas log masuk

Nampaknya terdapat masalah dengan banyak kebergantungan

#9 7.262  gnupg : Depends: gpgv (< 2.2.19-3ubuntu2.1.1~) but 2.2.20-1ubuntu3 is to be installed
Salin selepas log masuk

Ia sepatutnya menjadi lebih tinggi Versi telah dipasang, jadi saya cuba menggantikan apt-get dengan aptitude Perbezaan dengan apt-get ialah aptitude lebih baik dalam mengendalikan isu pergantungan. Sebagai contoh, apabila kebolehan memadamkan pakej, ia juga akan memadamkan pakej yang bergantung padanya. Dengan cara ini, pakej yang tidak berguna tidak akan kekal dalam sistem, dan keseluruhan sistem akan menjadi lebih bersih.

Jadi saya melaraskan Dockerfile

RUN apt-get update \    && apt-get install -y gnupg gosu curl ca-certificates zip unzip git supervisor sqlite3 libcap2-bin libpng-dev python2 \
Salin selepas log masuk

kepada

RUN apt-get update \    && apt-get install -y aptitude \    && aptitude install -y gnupg gosu curl ca-certificates zip unzip git supervisor sqlite3 libcap2-bin libpng-dev python2 \
Salin selepas log masuk

dan menjalankannya semula
./vendor/bin/sail up
Keadaan menjadi berbeza masih melaporkan ralat

#9 32.31 E: gnupg, gnupg2 and gnupg1 do not seem to be installed, but one of them is required for this operation
Salin selepas log masuk

Pemasangan tidak berjaya, saya baru sahaja melaksanakannya
Saya cuba lagiapt-get install -ftetapi masih tiada kesan

Baiklah, mari kita lihat berbeza. , kerana versi yang lebih tinggi yang disebutkan telah dipasang, maka saya akan melakukannya berdasarkan ubuntu yang lebih tinggi, jadi saya mengubah suai FROM daripada

FROM ubuntu:21.04
Salin selepas log masuk

kepada

FROM ubuntu:latest
Salin selepas log masuk

Baik , masalah pergantungan baru ada di sini

#9 44.96 Some packages could not be installed. This may mean that you have
#9 44.96 requested an impossible situation or if you are using the unstable
#9 44.96 distribution that some required packages have not yet been created
#9 44.96 or been moved out of Incoming.#9 44.96 The following information may help to resolve the situation:#9 44.96#9 44.96 The following packages have unmet dependencies:#9 45.08  php8.0-bcmath : Depends: php8.0-common (= 8.0.12-1+ubuntu21.04.1+deb.sury.org+1) but it is not going to be installed
#9 45.08  php8.0-cli : Depends: php8.0-common (= 8.0.12-1+ubuntu21.04.1+deb.sury.org+1) but it is not going to be installed
#9 45.08               Depends: php8.0-opcache but it is not going to be installed
#9 45.08               Depends: libc6 (>= 2.33) but 2.31-0ubuntu9.2 is to be installed
#9 45.08               Depends: libxml2 (>= 2.8.0) but it is not going to be installed
#9 45.08  php8.0-curl : Depends: php8.0-common (= 8.0.12-1+ubuntu21.04.1+deb.sury.org+1) but it is not going to be installed
#9 45.08  php8.0-dev : Depends: php8.0-common (= 8.0.12-1+ubuntu21.04.1+deb.sury.org+1) but it is not going to be installed
#9 45.08               Recommends: pkg-php-tools but it is not going to be installed
#9 45.08  php8.0-gd : Depends: php8.0-common (= 8.0.12-1+ubuntu21.04.1+deb.sury.org+1) but it is not going to be installed
#9 45.08  php8.0-igbinary : Depends: php8.0-common but it is not going to be installed
#9 45.08  php8.0-imap : Depends: php8.0-common (= 8.0.12-1+ubuntu21.04.1+deb.sury.org+1) but it is not going to be installed
#9 45.08  php8.0-intl : Depends: php8.0-common (= 8.0.12-1+ubuntu21.04.1+deb.sury.org+1) but it is not going to be installed
#9 45.08                Depends: libicu67 (>= 67.1-1~) but it is not installable
#9 45.08  php8.0-ldap : Depends: php8.0-common (= 8.0.12-1+ubuntu21.04.1+deb.sury.org+1) but it is not going to be installed
#9 45.08  php8.0-mbstring : Depends: php8.0-common (= 8.0.12-1+ubuntu21.04.1+deb.sury.org+1) but it is not going to be installed
#9 45.08  php8.0-memcached : Depends: php8.0-common but it is not going to be installed
#9 45.08  php8.0-msgpack : Depends: php8.0-common but it is not going to be installed
#9 45.08  php8.0-mysql : Depends: php8.0-common (= 8.0.12-1+ubuntu21.04.1+deb.sury.org+1) but it is not going to be installed
#9 45.08  php8.0-pcov : Depends: php8.0-common but it is not going to be installed
#9 45.08                Depends: libc6 (>= 2.33) but 2.31-0ubuntu9.2 is to be installed
#9 45.08  php8.0-pgsql : Depends: php8.0-common (= 8.0.12-1+ubuntu21.04.1+deb.sury.org+1) but it is not going to be installed
#9 45.08  php8.0-readline : Depends: php8.0-common (= 8.0.12-1+ubuntu21.04.1+deb.sury.org+1) but it is not going to be installed
#9 45.08  php8.0-redis : Depends: php8.0-common but it is not going to be installed
#9 45.08  php8.0-soap : Depends: php8.0-common (= 8.0.12-1+ubuntu21.04.1+deb.sury.org+1) but it is not going to be installed
#9 45.08                Depends: libc6 (>= 2.33) but 2.31-0ubuntu9.2 is to be installed
#9 45.08                Depends: libxml2 (>= 2.7.4) but it is not going to be installed
#9 45.08  php8.0-sqlite3 : Depends: php8.0-common (= 8.0.12-1+ubuntu21.04.1+deb.sury.org+1) but it is not going to be installed
#9 45.08  php8.0-swoole : Depends: php8.0-common but it is not going to be installed
#9 45.08                  Depends: libc6 (>= 2.33) but 2.31-0ubuntu9.2 is to be installed
#9 45.08  php8.0-xdebug : Depends: php8.0-common but it is not going to be installed
#9 45.08                  Depends: libc6 (>= 2.33) but 2.31-0ubuntu9.2 is to be installed
#9 45.08  php8.0-xml : Depends: php8.0-common (= 8.0.12-1+ubuntu21.04.1+deb.sury.org+1) but it is not going to be installed
#9 45.08               Depends: libc6 (>= 2.33) but 2.31-0ubuntu9.2 is to be installed
#9 45.08               Depends: libxml2 (>= 2.9.0) but it is not going to be installed
#9 45.08               Depends: libxslt1.1 (>= 1.1.25) but it is not going to be installed
#9 45.08  php8.0-zip : Depends: php8.0-common (= 8.0.12-1+ubuntu21.04.1+deb.sury.org+1) but it is not going to be installed
#9 45.08               Depends: libc6 (>= 2.33) but 2.31-0ubuntu9.2 is to be installed
#9 45.08               Depends: libzip4 (>= 1.7.0) but it is not installable
#9 45.10 E: Unable to correct problems, you have held broken packages.
Salin selepas log masuk

Selepas mencari, saya nampaknya telah menemui penyelesaian

 Solve it with downgrade sail
 composer require laravel/sail:^1.7.0
 php artisan sail:install
 and in ubuntu terminal
 sail up --build
Salin selepas log masuk

Baiklah, teruskan mencuba, jalankan dahulu

composer require laravel/sail:^1.7.0
Salin selepas log masuk
Salin selepas log masuk

Saya mendapati ralat, tetapi saya terlupa ralat khusus.
Saya menyemak bahawa versi php ialah 7.x, jadi saya menggunakan
brew install php dan mendapati ralat

Error: Failure while executing; `cp -pR /var/folders/vq/934y4t116875gz570v8drdcm0000gn/T/d20211115-17671-1n3qf1o/openssl@1.1/. /usr/local/Cellar/openssl@1.1` exited with 1. Here's the output:cp: utimes: /usr/local/Cellar/openssl@1.1/.: Operation not permitted
cp: chmod: /usr/local/Cellar/openssl@1.1/.: Operation not permitted
Salin selepas log masuk

selepas menyemak bahawa saya tidak mempunyai kebenaran, jadi saya menggunakan sudo brew install php

Error: Running Homebrew as root is extremely dangerous and no longer supported.As Homebrew does not drop privileges on installation you would be giving all
build scripts full access to your system.
Salin selepas log masuk

Didapati bahawa sudo tidak disokong.
Jadisudo chown -R $(whoami) /usr/local/Cellartukar kebenaran direktori
jalankan seperti biasa
gunakan php -v dan semak versi, ia masih 7.0
gunakan
brew unlink php70
brew link php
sudo vim ~/.bash_profile
Lampirkan di hujung fail

PATH="$(brew --prefix php)/bin:$PATH"export PYTHON_ENV=development
Salin selepas log masuk

php -v
php8.0 berjaya dipasang

PHP 8.0.12 (cli) (built: Oct 21 2021 14:49:05) ( NTS )Copyright (c) The PHP Group
Zend Engine v4.0.12, Copyright (c) Zend Technologies
Salin selepas log masuk

Teruskan

composer require laravel/sail:^1.7.0
Salin selepas log masuk
Salin selepas log masuk

Tiada apa -apa yang saya dapati dan berfikir bahawa mungkin ada masalah dengan sumber komposer domestik

[InvalidArgumentException] Could not find package laravel/laravel with stability stable
Salin selepas log masuk

Saya memasang imej komposer Cina. . Nanti saya tukar terus dan ganti dengan yang lain cukuplah

composer config -g repo.packagist composer https://packagist.org
Salin selepas log masuk

Berjaya.
Langkah kedua

php artisan sail:install
Salin selepas log masuk

telah berjaya.
Langkah 3

sail up
Salin selepas log masuk

Berjaya. Selesaikan masalah.
Hos tempatan terakhir
Laravel docker sail 搭建

Atas ialah kandungan terperinci Mari kita bincangkan tentang isu pembinaan belayar Mac Laravel docker. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:learnku.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan