正常安装 composer 需要系统内有完整 PHP 运行环境,对于仅仅构建依赖来说过于复杂,也不方便操作。
依赖于容器技术,便很简单实现此功能。本文以 macOS Mojave 为例演示。
环境
首先安装 Docker Desktop ,点击此处进行跳转官网进行下载安装。
小贴士:下载 Docker Desktop for Mac 需要 Docker 账户,申请即可。
双击打开安装即可。
镜像
拉取官方镜像即可。
# docker image pull composer:latest
若对版本有要求,可指定版本进行拉取。
# docker image pull composer:1.9
使用
使用教程非常简单,一条命令即可完成全部操作,以构建依赖为例。
进入到 PHP 项目中,执行
# docker run --rm --interactive --tty --volume $PWD:/app composer require ipip/db
Using version ^1.0 for ipip/db
./composer.json has been created
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 1 install, 0 updates, 0 removals
- Installing ipip/db (v1.0.0): Downloading (100%)
Writing lock file
Generating autoload files
注意:此处以项目 ipdb-php 为例。
执行完毕可看到依赖已经构建完毕。
localhost:IPDB kane$ ls -lh
total 16
-rw-r--r-- 1 kane staff 53B Sep 17 16:59 composer.json
-rw-r--r-- 1 kane staff 2.1K Sep 17 16:59 composer.lock
drwxr-xr-x 5 kane staff 160B Sep 17 16:59 vendor
补充
若对部分存在系统依赖的组件进行操作会报错,提示系统不存在此插件,可以使用以下参数进行忽略。
% docker run --rm --interactive --tty \
--volume $PWD:/app \
--user $(id -u):$(id -g) \
composer require sentry/sdk:2.0.3 --ignore-platform-reqs
小贴士:仅仅用于本地补全组件,实际使用时还需要依赖才能运行,因此请确保生产环境存在所需依赖。
附录
参考链接
本文由 柒 创作,采用 知识共享署名4.0
国际许可协议进行许可。
转载本站文章前请注明出处,文章作者保留所有权限。
最后编辑时间: 2019-09-17 10:32 AM
确实超级方便,不用再安装各种依赖啦!