机器上没有装composer的时候,可以用docker来运行:docker run
如何在任何目录下都能运行呢,bash是可以定义function的:
- 在主机创建一个目录,用以保存composer的配置和缓存文件:
mkdir ~/dnmp/composer
- 打开主机的
~/.bashrc
或者~/.zshrc
文件,加上:
composer () {
tty=
tty -s && tty=--tty
docker run
$tty
--interactive
--rm
--user $(id -u):$(id -g)
--volume ~/dnmp/composer:/tmp
--volume /etc/passwd:/etc/passwd:ro
--volume /etc/group:/etc/group:ro
--volume $(pwd):/app
composer "$@"
}
- 让文件起效:
source ~/.bashrc
- 在主机的任何目录下就能用
composer
了:
cd ~/dnmp/www/
composer create-project yeszao/fastphp project --no-dev
- (可选)如果提示需要依赖,用
--ignore-platform-reqs
--no-scripts
关闭依赖检测。 - (可选)第一次使用
composer
会在~/dnmp/composer
目录下生成一个config.json
文件,可以在这个文件中指定国内仓库,例如:
{
"config": {},
"repositories": {
"packagist": {
"type": "composer",
"url": "https://packagist.laravel-china.org"
}
}
}