最近要在 flarum 上做二次开发,尝试直接用 php -S localhost:8080
未果,于是打算在树莓派上搭个开发环境,省得它整日落灰。
因为在本地创建过仓库,所以这次直接从 GitHub clone 项目下来,然后打算执行 composer install
安装依赖。结果提示差了 php-mbstring(解决汉字等多字节字符)和 php-curl(用于远程请求)两个模块。然后我就打算用 apt install php-curl
安装模块,没想到失败了,仔细看错误信息,因为这个模块依赖 libcurl3,但是系统里是 libcurl4,所以不行。
那就安装 libcurl3 呗,结果系统认为明显 libcurl4 更新,不给装 3,哪怕删了重装都不行。
后来查了半天,找到答案。原来我添加的源是 stretch 的,也就是面向 Debian 9 的;而 Raspberry Pi 的系统是基于 Debian 10,也就是 buster 的,所以依赖处理上,两方面就冲突了。
这个时候,需要用 sh -c 'echo "deb https://packages.sury.org/php/ buster main" > /etc/apt/sources.list.d/php.list'
把属于“buster”的源添加进系统,接着删掉之前 stretch 的源,然后 apt update
之后,就可以正常安装了。
欢迎吐槽,共同进步