【问题标题】:Why can't I download my package through packagist?为什么我不能通过 packagist 下载我的包?
【发布时间】:2014-12-01 20:59:55
【问题描述】:

我开发了一个库,我决定把它扔给打包师。我的composer.json 如下所示

{
    "name": "kamranahmedse/php-geocode",
    "type": "library",
    "description": "A wrapper around the Google Geocoding API to get different details such as latitude, longitude, country, city, district, postcode, town and street number regarding some specific address.",
    "keywords": ["location", "address", "addresses", "google", "map", "maps", "gmap", "gmaps", "geocode", "geocoder", "geocoding"],
    "homepage": "https://github.com/kamranahmedse/php-geocode",
    "license": "MIT",
    "authors": [
        {
            "name": "Kamran Ahmed",
            "homepage": "http://kamranahmed.info",
            "role": "Developer"
        }
    ],
    "autoload": {
        "psr-0": {
            "Geocode": "src/"
        }
    },
    "require": {
        "php": ">=5.2.0"
    }
}

我已经在https://packagist.org/packages/kamranahmedse/php-geocode 托管了我的包,相关的 git 存储库是https://github.com/kamranahmedse/php-geocode。现在要测试我的包是否工作正常,我所做的是创建一个文件夹。在该文件夹中,我创建了这个简单的 composer.json 文件,其中包含

{
    "require": {
        "kamranahmedse/php-geocode": "*"
    }
}

但每当我尝试运行 composer install 时,我都会收到以下错误:

您的需求无法解析为一组可安装的软件包。

问题 1 - 请求的包 kamranahmedse/php-geocode 在任何版本中都找不到,可能包名有错别字。

谁能看看我在这里做错了什么?我一直在尝试,但找不到任何错误,因为这将是我通过 packagegist 的第一个包,而且我之前没有经验。

【问题讨论】:

  • composer require "kamranahmedse/php-geocode=dev-master"。您需要获取开发主分支,您没有标签或版本。

标签: php composer-php packages package-managers packagist


【解决方案1】:

我相信这是因为您没有任何稳定版本,并且 composer 默认只在指定 * 时才下载稳定版本。

将您的版本规范更改为dev-master 或将您的minimum-stability 设置为dev

【讨论】:

  • 正确的答案是标记一个版本。使用分支对每个人来说都是一件痛苦的事,Stackoverflow 充满了处理无法使用标记版本的负面影响的问题。
  • @Sven 我认为在项目初期或以实验方式使用分支是可以的,只要理解并使用composer.lock 文件即可。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-01-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-29
  • 2022-11-22
  • 2019-10-25
相关资源
最近更新 更多