-2

我想使用:https ://github.com/mikealmond/MusicBrainz 复制了 myapp->vendor 文件夹中的 lib。使用作曲家安装 Guzzle 并更新作曲家。

use GuzzleHttp\Client;
use MusicBrainz\Filters\ArtistFilter;
use MusicBrainz\Filters\RecordingFilter;
use MusicBrainz\HttpAdapters\GuzzleHttpAdapter;
use MusicBrainz\MusicBrainz;

require __DIR__ . '/vendor/autoload.php';

自动加载不起作用。我尝试了很多东西,但不知道在 composer.json 中写什么。

Error: Class 'MusicBrainz\MusicBrainz' not found 

当我打电话时:

$brainz = new MusicBrainz(new GuzzleHttpAdapter(new Client()));

我在 composer.json 中尝试过

"require-dev": {
     "vendor/MusicBrainz": "dev-master"
    },
    "repositories": [
        {
            "type": "vcs",
            "url":  "https://github.com/mikealmond/MusicBrainz.git"
        }
    ],

然后作曲家更新......我得到:

Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - The requested package src/musicbrainz could not be found in any version, there may be a typo in the package name.

Potential causes:
 - A typo in the package name
 - The package is not available in a stable-enough version according to your minimum-stability setting
   see <https://getcomposer.org/doc/04-schema.md#minimum-stability> for more details.

Read <https://getcomposer.org/doc/articles/troubleshooting.md> for further common problems.
4

1 回答 1

2

转到 Github 上的链接存储库页面。在根文件夹中,单击名为composer.json. 搜索带有 的行"name"。它右边的文本是你必须在 Composer 中使用的这个包的名称。

或者,转到https://packagist.org并在搜索字段中输入接近实际名称的内容,例如musicb. 会发现一些东西:https ://packagist.org/search/?q=musicb

无论如何,您都会找到包名:mikealmond/musicbrainz.

现在转到命令行并键入:composer require mikealmond/musicbrainz。Composer 将完成剩下的工作,包括下载 Guzzle,因为这被声明为依赖项。

在这一步之后,演示代码将工作 - 或者至少不会因为缺少类而失败。

于 2016-02-12T00:45:44.617 回答