機器上沒有裝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"
}
}
}