我在packagist开发一个用户/软件包。在本地安装很好

composer require user/package

创建新项目也很好
composer create-project --prefer-dist user/package new-project

但该计划将在全球部署
composer global require user/package

但是,这会导致以下错误日志。
将当前目录更改为/home/anders/.composer./composer.json
已更新,正在使用包加载作曲家存储库
信息更新依赖项(包括要求开发人员)
无法将要求解析为一组可安装的包。
问题1
-用户/包^v0.0.3的安装请求->用户/包可以满足[v0.0.3]。
-结论:拆除照明/容器V5.5.2
-结论:不要安装照明/容器V5.5.2
-不要安装tightenco/collect v5.4.33;不要安装laravel/frameworkv5.5.2
-不要安装laravel/framework v5.5.2删除tightenco/collect v5.4.33
-照明/容器安装要求(安装在V5.5.2)—>照明/容器满足要求[V5.5.2],
laravel/框架[v5.5.2]。
-tightenco/collect的安装请求(安装在v5.4.33)—>tightenco/collect可以满足[v5.4.33]。
安装失败,正在将./composer.json还原为其原始版本
内容。
怎么会这样?
我试过composer global clearcache
删除了直接在/home/anders/.composer下找到的composer.lock文件/
将我的依赖项(laravel)从5.5.x升级到5.6.x,但没有效果
即使创建一个新的“laravel new blog”项目并上传到packagist也会失败,并显示相同的错误消息。
这是我的composer.json
{
    "name": "user/package",
    "description": "Package",
    "keywords": ["framework", "laravel"],
    "license": "MIT",
    "type": "project",
    "require": {
        "php": ">=7.0.0",
        "ajthinking/tinx": "^2.1",
        "fideloper/proxy": "~3.3",
        "guzzlehttp/guzzle": "^6.3",
        "laravel/framework": "5.5.*",
        "laravel/tinker": "~1.0"
    },
    "require-dev": {
        "filp/whoops": "~2.0",
        "fzaninotto/faker": "~1.4",
        "mockery/mockery": "~1.0",
        "phpunit/phpunit": "~6.0"
    },
    "autoload": {
        "classmap": [
            "database/seeds",
            "database/factories"
        ],
        "psr-4": {
            "App\\": "app/"
        }
    },
    "autoload-dev": {
        "psr-4": {
            "Tests\\": "tests/"
        }
    },
    "extra": {
        "laravel": {
            "dont-discover": [
            ]
        }
    },
    "scripts": {
        "post-root-package-install": [
            "@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
        ],
        "post-create-project-cmd": [
            "@php artisan key:generate"
        ],
        "post-autoload-dump": [
            "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
            "@php artisan package:discover"
        ]
    },
    "config": {
        "preferred-install": "dist",
        "sort-packages": true,
        "optimize-autoloader": true
    },
    "bin": [
        "package"
    ]
}

非常感谢帮助解释错误日志。谢谢!
更新
这是/home/anders/.composer的内容/
{
    "require": {
        "cpriego/valet-linux": "^2.0",
        "laravel/installer": "^1.4",
        "phpunit/phpunit": "^6.4",
        "phpunit/dbunit": "^3.0"
    }
}

作曲家版本:1.6.5

最佳答案

如果这是独立的工具,您应该考虑为它构建PHAR。您可以使用kherge/box来简化构建过程。
phar存档是完全独立的,因此您可以消除所有与全局依赖性冲突的问题。它还可以简化全局和本地安装的安装(您只需要下载存档文件并使其可执行)。

10-08 01:45