composer.json / cakephp

857 Views Asked by At

I want to use: https://github.com/mikealmond/MusicBrainz Copied the lib in myapp->vendor Folder. Installed Guzzle with composer and updated composer.

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

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

The autoload does not work. I tried many things and don't know, what to write in the composer.json.

Error: Class 'MusicBrainz\MusicBrainz' not found 

When i call:

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

I tried in composer.json

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

Then composer update... And i get:

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.
1

There are 1 best solutions below

0
On BEST ANSWER

Go to the linked repository page on Github. In the root folder, click on the file named composer.json. Search for a line with "name". The text right to it is the name of this package that you have to use in Composer.

Alternatively, go to https://packagist.org and type something close to the actual name into the search field, like musicb. Something will be found: https://packagist.org/search/?q=musicb

In any case, you will find the package name: mikealmond/musicbrainz.

Now go to the command line and type: composer require mikealmond/musicbrainz. Composer will do the rest, including the download of Guzzle because this is declared as a dependency.

After that step, the demo code will work - or at least will not fail because of missing classes.