为啥我不能成功使用 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在非全局等效成功的地方失败