为啥我不能成功使用 composer require packageName?

Posted

技术标签:

【中文标题】为啥我不能成功使用 composer require packageName?【英文标题】:Why I can't use composer require packageName successfully?为什么我不能成功使用 composer require packageName? 【发布时间】:2019-02-10 13:32:01 【问题描述】:

我正在学习如何创建 Laravel 包,我在这里写了一个包:noahprot/fillindata

然后我提交给packagist

我在 github 中有 set a lastest release

Packagist 的节目是这样的: Already show the latest release

然后我使用 Laravel CLI Tool 创建一个新的 laravel 项目,我想尝试使用这个包,我使用composer require noahprot/fillindata

但是结果是这样的:

  [InvalidArgumentException]                                                                                                              
  Could not find a version of package noahprot/fillindata matching your 
  minimum-stability (dev). Require it with an explicit version con  
  straint allowing its desired stability.  

我的包的 composer.json 文件如下:


"name": "noahprot/fillindata",
"License": "MIT",
"description": "take the csv file fill into database table",
"authors": [
    
        "name": "Noah Prot",
        "email": "mylovewangjian@gmail.com"
    
],
"autoload": 
    "psr-4": 
        "NeoLee\\Fillindata\\": "src/"
    
,
"extra": 
    "laravel": 
        "providers": [
            "NoahProt\\Fillindata\\FillindataServiceProvider"
        ]
    
,
"require": 

我做了一些尝试,例如: 将"minimum-stability": "dev" 添加到composer.json,但失败, 即使我编辑为“稳定”,但也失败了;

我现在不知道这种情况;

各位,请帮帮我,请给点建议!

谢谢大家!

【问题讨论】:

composer --version 向您展示了什么? 这是我的作曲家版本:Composer version 1.7.2 2018-08-16 16:57:12 【参考方案1】:

Packagist 似乎有一些缓存相关的问题,请参阅this issue。您使用的镜子可能有一些过时的软件包信息。此时你只能做两件事:

    等待镜像上的包数据被刷新。 报告您的情况(请参阅this comment)。

【讨论】:

好的,我明白了。我也在谷歌上找到了这个答案。但是应该有另一种情况会产生这个结果吗?如果是镜像缓存导致的结果,你知道The Composer Mirror一般多久会更新缓存?真诚地感谢您的帮助! 我不知道镜像缓存,但是AFAIKPackagist每分钟刷新一次包数据,官方镜像应该不会落后太多。通过composer 命令识别新版本绝对不会超过几分钟。 好的,有不同的声音。我读了错误,我认为关键字是 Composer 找不到我的包是哪个稳定版本的。你知道如何在 github 和 packagist 中发布稳定版本吗? 发布1.0.0 已经创建了稳定版本。而且我可以毫无困难地安装您的软件包 - 我猜镜像是最新的。 :) 问题可能是您的镜像没有关于1.0.0(和其他)版本的信息,所以 Composer 认为没有稳定版本。 谢谢!一定有问题。我的作曲家镜子已经过时了。我会努力解决的。

以上是关于为啥我不能成功使用 composer require packageName?的主要内容,如果未能解决你的问题,请参考以下文章

composer global require在非全局等效成功的地方失败

为啥没有安装 Composer 的包依赖项?

为啥我会收到 Laravel Composer 解析错误?

为啥 PHP include_once 会成功但 require_once 在同一个文件上会失败?

为啥我不能在我的快速路由中使用中间件?

为啥我在c编程中不能成功使用return选项?