Maison> cadre php> Laravel> le corps du texte

Parlons des problèmes de construction des voiles docker de Mac Laravel

藏色散人
Libérer: 2021-11-16 14:47:00
avant
2520 Les gens l'ont consulté

多 多 多

apt-get使用aptitudeapt-get不同的是,aptitude在处理依赖问题上更佳一些。举例来说,aptitude 在删除一个包时,会同时删除本身所依赖的包。这样,系统中不会残留无用的包,整个系统更为干净。

于是我调整了一下Dockerfile

ERROR: Service 'laravel.test' failed to build : Build failed
Copier après la connexion

变成了

#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.
Copier après la connexion

再次运行
./vendor/bin/sail up
情况变得不同了,但依然报了错误

#9 7.262 gnupg : Depends: gpgv (< 2.2.19-3ubuntu2.1.1~) but 2.2.20-1ubuntu3 is to be installed
Copier après la connexion

并没有安装成功,只是执行了过去
又尝试了apt-get install -f但依然没什么效果

好吧,换个思路观察了一下,既然说的更高版本已经安装,那我就基于更高的ubuntu去做,于是我修改了FROM,从

RUN apt-get update \ && apt-get install -y gnupg gosu curl ca-certificates zip unzip git supervisor sqlite3 libcap2-bin libpng-dev python2 \
Copier après la connexion

改到了

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 \
Copier après la connexion

好吧,新的依赖问题来了

#9 32.31 E: gnupg, gnupg2 and gnupg1 do not seem to be installed, but one of them is required for this operation
Copier après la connexion

搜索了一下,貌似找到了一个解决方案

FROM ubuntu:21.04
Copier après la connexion

好,继续尝试,首先运行

FROM ubuntu:latest
Copier après la connexion

发现报错,具体错误忘记了。
我看了一下php版本是7.x于是使用
brew install php发现报错

#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.
Copier après la connexion

看了一下是没权限,使用sudo brew install php

Solve it with downgrade sail composer require laravel/sail:^1.7.0 php artisan sail:install and in ubuntu terminal sail up --build
Copier après la connexion

发现sudo不支持。
于是sudo chown -R $(whoami) /usr/local/Cellar改变目录权限
正常运行
使用php -v看了一下版本,还是7.0
使用
brew unlink php70
brew link php
sudo vim ~/.bash_profile
在文件末尾追加

composer require laravel/sail:^1.7.0
Copier après la connexion
Copier après la connexion

php -v





Laravel docker sail 搭建

Maintenant, je l'ai repris. J'utilisais TP auparavant, mais la version TP a été mise à jour. très hostile, donc cette fois j'ai utilisé Laravel en une seule étape. Commençons par l'environnement Docker. J'essaierai d'écrire au fur et à mesure. Tout le monde est invité à interagir avec moi et à m'en apprendre davantage. J'espère également que mon expérience de débutant pourra aider certaines personnes. 【Recommandé : Tutoriel Laravel】1. Installation de Docker DesktopTutoriel détaillé dans le forum2. Exécution du conteneur (rencontré un "pit" !)Je viens de suivre le tutoriel. Opération étape par étape, jusqu'à la sixième étape, mon opération n'a pas été très fluide, et la situation suivante s'est produite
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
Copier après la connexion
J'ai regardé attentivement le journal, l'erreur est apparue dans
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.
Copier après la connexion
Il y a beaucoup de dépendances qui semblent poser problème
PATH="$(brew --prefix php)/bin:$PATH"export PYTHON_ENV=development
Copier après la connexion
Une version supérieure devrait être installée, j'ai donc essayé de remplacer apt-getpar aptitudecontrairement à apt-get, aptitude.> Meilleure gestion des dépendances. Par exemple, lorsqu'aptitude supprime un package, il supprimera également les packages dont il dépend. De cette façon, les packages inutiles ne resteront pas dans le système et l’ensemble du système sera plus propre. J'ai donc ajusté le Dockerfile
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
Copier après la connexion
sur
composer require laravel/sail:^1.7.0
Copier après la connexion
Copier après la connexion
et je l'ai réexécuté ./vendor/bin/sail upLa situation est devenue différente, mais l'erreur a quand même été signalée
[InvalidArgumentException] Could not find package laravel/laravel with stability stable
Copier après la connexion
Le l'installation n'a pas réussi, je viens de l'exécuterJ'ai essayé apt-get install -fmais cela n'a toujours eu aucun effetEh bien, j'ai changé d'avis et je l'ai regardé depuis la version supérieure mentionnée ci-dessus. a été installé, puis je le ferai sur la base d'un Ubuntu supérieur, j'ai donc modifié FROMde
composer config -g repo.packagist composer https://packagist.org
Copier après la connexion
à
php artisan sail:install
Copier après la connexion
D'accord, un nouveau problème de dépendance est survenu
sail up
Copier après la connexion
Après la recherche, il semble trouvé une solution rrreeeD'accord, continuez d'essayer, lancez d'abord rrreee et trouvez une erreur, j'ai oublié l'erreur spécifique. J'ai vérifié et la version de php était 7.x, j'ai donc utilisé brew install phpet j'ai trouvé une erreur rrreeeAprès vérification, je n'avais pas l'autorisation, j'ai donc utilisé sudo Brew install phprrreee J'ai constaté que sudo n'était pas pris en charge. Donc sudo chown -R $(whoami) /usr/local/Cellara modifié les autorisations du répertoireIl fonctionnait normalementJ'ai utilisé php -vpour vérifier la version, c'était toujours 7.0Utilisez brew unlink php70 brew link php sudo vim ~/.bash_profileAjoutez rrreee à la fin du fichier php -vphp8.0 a été installé avec succèsrrreeeContinuerrrreeeJ'ai trouvé qu'il n'était pas trouvé. Je pensais qu'il pourrait y avoir un problème avec la source du compositeur nationalrrreeeJ'ai installé. l'image chinoise du compositeur, qui est en fait l'image chinoise du compositeur Problème, plus tard je l'ai changé directement pour une autre adresserrreeeSuccès. Étape 2rrreeeSuccès. Étape 3rrreeeSuccès. Résolvez le problème. Dernier hôte local

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:learnku.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!