聊聊关于Mac Laravel docker sail 搭建问题
时间:2021-11-16 14:47
先写段独白 两年多没用php写过代码了,现在从新捡起来,以前用tp,但tp的版本更新很不友好,所以这次一步到位用Laravel。先docker环境开始吧,我会一边尝试一边写,也欢迎大家和我互动,多教我一些东西。我也希望我的新手经验可以帮到一些人。 【推荐:laravel教程】 论坛里详细教程 我就是按照教程一步一步操作的,直到第六步我的运行并没有很顺利,出现了以下情况 我在仔细看了一下日志,错误出现在 有很多依赖貌似有问题 应该是更高的版本被安装了,于是我尝试替换 于是我调整了一下Dockerfile 变成了 再次运行 并没有安装成功,只是执行了过去 好吧,换个思路观察了一下,既然说的更高版本已经安装,那我就基于更高的ubuntu去做,于是我修改了 改到了 好吧,新的依赖问题来了 搜索了一下,貌似找到了一个解决方案 好,继续尝试,首先运行 发现报错,具体错误忘记了。 看了一下是没权限,使用 发现sudo不支持。 继续 发现没有没有找到,想到可能是国内composer源有问题 我是安装了composer 的中国镜像,其实就是composer 的中国镜像出了问题,后来我直接把他改了,换成另外一个地址就行了 成功。 成功。 成功。解决问题。 以上就是聊聊关于Mac Laravel docker sail 搭建问题的详细内容,更多请关注gxlsystem.com其它相关文章!一. docker Desktop安装
二. 运行容器(遇到「坑」了!)
ERROR: Service 'laravel.test' failed to build : Build failed
#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.
#9 7.262 gnupg : Depends: gpgv (< 2.2.19-3ubuntu2.1.1~) but 2.2.20-1ubuntu3 is to be installed
apt-get
使用aptitude
与 apt-get
不同的是,aptitude
在处理依赖问题上更佳一些。举例来说,aptitude 在删除一个包时,会同时删除本身所依赖的包。这样,系统中不会残留无用的包,整个系统更为干净。RUN apt-get update \ && apt-get install -y gnupg gosu curl ca-certificates zip unzip git supervisor sqlite3 libcap2-bin libpng-dev python2 \
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 \
./vendor/bin/sail up
情况变得不同了,但依然报了错误#9 32.31 E: gnupg, gnupg2 and gnupg1 do not seem to be installed, but one of them is required for this operation
又尝试了apt-get install -f
但依然没什么效果FROM
,从FROM ubuntu:21.04
FROM ubuntu:latest
#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.
Solve it with downgrade sail
composer require laravel/sail:^1.7.0
php artisan sail:install
and in ubuntu terminal
sail up --build
composer require laravel/sail:^1.7.0
我看了一下php版本是7.x于是使用brew install php
发现报错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
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.
于是sudo chown -R $(whoami) /usr/local/Cellar
改变目录权限
正常运行
使用php -v
看了一下版本,还是7.0
使用brew unlink php70
brew link php
sudo vim ~/.bash_profile
在文件末尾追加PATH="$(brew --prefix php)/bin:$PATH"export PYTHON_ENV=development
php -v
php8.0安装成功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
composer require laravel/sail:^1.7.0
[InvalidArgumentException] Could not find package laravel/laravel with stability stable
composer config -g repo.packagist composer https://packagist.org
第二步php artisan sail:install
第三步sail up
最后localhost