Composer php 在composer中创建项目时如何使用global composer.json?

Composer php 在composer中创建项目时如何使用global composer.json?,composer-php,Composer Php,我已经添加了以下配置,如果我需要全局包,一切都正常。每个软件包都将从mirrors.aliyun.com安装 composer global config repo.packagist composer https://mirrors.aliyun.com/composer/ 以及~/.composer/composer.json中的内容 { "require": { "laravel/installer": "^4.0

我已经添加了以下配置,如果我需要全局包,一切都正常。每个软件包都将从mirrors.aliyun.com安装

composer global config repo.packagist composer https://mirrors.aliyun.com/composer/
以及
~/.composer/composer.json中的内容

{
    "require": {
        "laravel/installer": "^4.0",
        "laravel/valet": "^2.11"
    },
    "repositories": {
        "packagist": {
            "type": "composer",
            "url": "https://mirrors.aliyun.com/composer/"
        }
    }
}
{
    "require": {
        "laravel/installer": "^4.0",
        "laravel/valet": "^2.11"
    }
}
但若我像这样用composer创建项目,我发现包是从

我需要从镜像下载,但是global composer.json中的配置被忽略了,有人知道为什么吗

下面是一些相关的日志

Reading /Users/jack/.composer/composer.json
Loading config file /Users/jack/.composer/config.json
Loading config file /Users/jack/.composer/auth.json
Loading config file /Users/jack/.composer/composer.json
Loading config file /Users/jack/.composer/auth.json
Reading /Users/jack/.composer/auth.json
Reading /Users/jack/.composer/vendor/composer/installed.json
Creating a "laravel/laravel" project at "./sample.com"
Downloading https://repo.packagist.org/packages.json
Reading /Users/cuimingda/.composer/composer.json
Loading config file /Users/cuimingda/.composer/config.json
Loading config file /Users/cuimingda/.composer/auth.json
Loading config file /Users/cuimingda/.composer/composer.json
Loading config file /Users/cuimingda/.composer/auth.json
Reading /Users/cuimingda/.composer/auth.json
Reading /Users/cuimingda/.composer/vendor/composer/installed.json
Creating a "laravel/laravel" project at "./api.mingda.net"
Downloading https://mirrors.aliyun.com/composer/packages.json
Installing laravel/laravel (v7.25.0)

Created project in /Users/cuimingda/Sites/api.mingda.net
Reading ./composer.json
Reading /Users/cuimingda/.composer/composer.json
Loading config file /Users/cuimingda/.composer/config.json
Loading config file /Users/cuimingda/.composer/auth.json
Loading config file /Users/cuimingda/.composer/composer.json
Loading config file /Users/cuimingda/.composer/auth.json
Reading /Users/cuimingda/.composer/auth.json
Reading /Users/cuimingda/.composer/vendor/composer/installed.json
> post-root-package-install: @php -r "file_exists('.env') || copy('.env.example', '.env');"
Executing command (CWD): '/usr/local/Cellar/php/7.4.8/bin/php' -d allow_url_fopen='1' -d disable_functions='' -d memory_limit='1536M' -r "file_exists('.env') || copy('.env.example', '.env');"
Loading composer repositories with package information
Downloading https://repo.packagist.org/packages.json
更新@19:55

我添加了
--repository
参数,然后从镜像存储库下载
laravel/laravel
模板

composer create-project laravel/laravel sample.com --prefer-dist --repository=https://mirrors.aliyun.com/composer/ -vvv
但是在下载了laravel/laravel之后,还是从Packagegist下载,下面是一些相关的日志

Reading /Users/jack/.composer/composer.json
Loading config file /Users/jack/.composer/config.json
Loading config file /Users/jack/.composer/auth.json
Loading config file /Users/jack/.composer/composer.json
Loading config file /Users/jack/.composer/auth.json
Reading /Users/jack/.composer/auth.json
Reading /Users/jack/.composer/vendor/composer/installed.json
Creating a "laravel/laravel" project at "./sample.com"
Downloading https://repo.packagist.org/packages.json
Reading /Users/cuimingda/.composer/composer.json
Loading config file /Users/cuimingda/.composer/config.json
Loading config file /Users/cuimingda/.composer/auth.json
Loading config file /Users/cuimingda/.composer/composer.json
Loading config file /Users/cuimingda/.composer/auth.json
Reading /Users/cuimingda/.composer/auth.json
Reading /Users/cuimingda/.composer/vendor/composer/installed.json
Creating a "laravel/laravel" project at "./api.mingda.net"
Downloading https://mirrors.aliyun.com/composer/packages.json
Installing laravel/laravel (v7.25.0)

Created project in /Users/cuimingda/Sites/api.mingda.net
Reading ./composer.json
Reading /Users/cuimingda/.composer/composer.json
Loading config file /Users/cuimingda/.composer/config.json
Loading config file /Users/cuimingda/.composer/auth.json
Loading config file /Users/cuimingda/.composer/composer.json
Loading config file /Users/cuimingda/.composer/auth.json
Reading /Users/cuimingda/.composer/auth.json
Reading /Users/cuimingda/.composer/vendor/composer/installed.json
> post-root-package-install: @php -r "file_exists('.env') || copy('.env.example', '.env');"
Executing command (CWD): '/usr/local/Cellar/php/7.4.8/bin/php' -d allow_url_fopen='1' -d disable_functions='' -d memory_limit='1536M' -r "file_exists('.env') || copy('.env.example', '.env');"
Loading composer repositories with package information
Downloading https://repo.packagist.org/packages.json

我自己刚找到答案

不要使用以下方法设置镜像,因为它们将修改
~/.composer/composer.json
,并且
composer.json
在创建项目时将不起作用

composer global config repo.packagist composer https://mirrors.aliyun.com/composer/
正确方法-手动将以下代码放入
~/.composer/config.json
,无论
composer global require
还是
composer create project
,它们都将从镜像站点而不是packagist.org获取文件

{
    "config": {},
    "repositories": [
        {
            "type": "composer",
            "url": "https://mirrors.aliyun.com/composer/"
        },
        {
            "packagist": false
        }
    ]
}
无需添加任何与configto
~/.composer/composer.json相关的存储库

{
    "require": {
        "laravel/installer": "^4.0",
        "laravel/valet": "^2.11"
    },
    "repositories": {
        "packagist": {
            "type": "composer",
            "url": "https://mirrors.aliyun.com/composer/"
        }
    }
}
{
    "require": {
        "laravel/installer": "^4.0",
        "laravel/valet": "^2.11"
    }
}