Composer-未知的下载器类型:h-正在获取packigist上的repo的此错误



我刚刚在packagist上安装了一个包,并尝试运行composer update,结果出现错误:

Unknown downloader type: h. Available types: git, svn, hg, perforce, zip, rar, tar, gzip, phar, file.

在主项目文件中,我有这样的:

"require": {
    //.......
    "cyphix333/sbb-code-parser": "dev-master"
},

cyphix333/sbb-code-parsercomposer.json文件为:

{
    "name": "cyphix333/sbb-code-parser",
    "description": "SBBCodeParser is a simple BBCode parser",
    "keywords": [
        "SBBCodeParser"
    ],
    "homepage": "https://github.com/samclarke/SBBCodeParser",
    "canonical": "https://github.com/cyphix333/SBBCodeParser",
    "source": "https://github.com/cyphix333/SBBCodeParser/tree/master",
    "autoload": {
        "classmap": ["SBBCodeParser.php","classes/"]
    },
    "authors": [
        {
            "name": "Sam Clarke"
        }
    ],
    "require": {
        "php": ">=5.3"
    }
}

我不确定我在这里做错了什么?

如果刚开始出现此错误,请尝试composer clear-cache和/或删除~/.composervendor

我得到的具体错误是:

  [InvalidArgumentException]                                                                                  
  Unknown downloader type: . Available types: git, svn, fossil, hg, perforce, zip, rar, tar, gzip, xz, phar,  
   file, path.     

我只是删除了所有内容,然后再试一次;现在工作。

我正在使用

Composer version 1.2.0 2016-07-19 01:28:52

我已经解决了删除供应商目录的问题。

rm -Rf vendor

然后运行:

composer update

对composer.json的更改:删除了规范和源代码;添加了类型库。

试试这个:

{
    "name": "cyphix333/sbb-code-parser",
    "description": "SBBCodeParser is a simple BBCode parser",
    "homepage": "https://github.com/samclarke/SBBCodeParser",
    "keywords": ["SBBCodeParser"],
    "type": "library",
    "authors": [
        {
            "name": "Sam Clarke"
        }
    ],
    "require": {
        "php": ">=5.3"
    },
    "autoload": {
        "classmap": ["SBBCodeParser.php", "classes/"]
    }
}

我在更新composer版本后解决了这个错误。

安装无法使用composer v2。传递到v1版本有效。

composer self-update --1

我也遇到了这个问题,我们的composer.json中出现了人为错误。我们的一个自定义存储库的dist部分输入了错误的下载器类型(如错误消息中所述)。

  {
    "type": "package",
    "package": {
      "name": "campaignmonitor/createsend-php",
      "type": "drupal-library",
      "version": "dev-master",
      "dist": {
        "url": "https://github.com/campaignmonitor/createsend-php.git",
        "type": "drupal-library"
      },
      "source": {
        "url": "https://github.com/campaignmonitor/createsend-php.git",
        "type": "git",
        "reference": "master"
      }
    }
  }

请注意,disttype输入为drupal-library,即包类型,而不是下载器类型。我们对dist使用以下内容进行了更正:

      "dist": {
        "url": "https://github.com/campaignmonitor/createsend-php/archive/master.zip",
        "type": "zip"
      },

当我们开发这个项目时,我们在本地运行composer install时没有遇到任何问题。我们在使用--prefer-dist准备项目生产时遇到了这个错误。显然,它只会在source上使用dist,然后遇到这个错误。

免责声明:这个案例与最初的问题有些不同,尽管它具有高度的相关性,并且这个问题在试图搜索答案时出现在顶部。我希望这没关系。

最新更新