2016-01-26 31 views
0

我创建了一个包含Composer包的私有Git存储库。 我composer.json是回购的根:在任何分支或标签中找不到有效的composer.json

{ 
    "name": "vendor/nameofpackage", 
    "type": "library", 
    "description": "blaaa", 
    "license": "All rights reserved.", 
    "version": "0.0.1", 
    "keywords": ["a", "b", "c"] 
} 

但如果我要运行任何作曲家命令(-v),我得到:

[Composer\Repository\InvalidRepositoryException] 
No valid composer.json was found in any branch or tag of [url], could not load a package from it. 

Exception trace: 
() at phar://D:/wamp/www/mosaicgenerator/skeletonmosaic/api/composer.phar/src/Composer/Repository/VcsRepository.php:265 
Composer\Repository\VcsRepository->initialize() at phar://D:/wamp/www/mosaicgenerator/skeletonmosaic/api/composer.phar/src/Composer/Repository/ArrayRepository.php:179 
Composer\Repository\ArrayRepository->getPackages() at phar://D:/wamp/www/mosaicgenerator/skeletonmosaic/api/composer.phar/src/Composer/DependencyResolver/Pool.php:104 
Composer\DependencyResolver\Pool->addRepository() at phar://D:/wamp/www/mosaicgenerator/skeletonmosaic/api/composer.phar/src/Composer/Command/ShowCommand.php:300 
Composer\Command\ShowCommand->getPackage() at phar://D:/wamp/www/mosaicgenerator/skeletonmosaic/api/composer.phar/src/Composer/Command/ShowCommand.php:129 
Composer\Command\ShowCommand->execute() at phar://D:/wamp/www/mosaicgenerator/skeletonmosaic/api/composer.phar/vendor/symfony/console/Command/Command.php:259 
Symfony\Component\Console\Command\Command->run() at phar://D:/wamp/www/mosaicgenerator/skeletonmosaic/api/composer.phar/vendor/symfony/console/Application.php:844 
Symfony\Component\Console\Application->doRunCommand() at phar://D:/wamp/www/mosaicgenerator/skeletonmosaic/api/composer.phar/vendor/symfony/console/Application.php:192 
Symfony\Component\Console\Application->doRun() at phar://D:/wamp/www/mosaicgenerator/skeletonmosaic/api/composer.phar/src/Composer/Console/Application.php:167 
Composer\Console\Application->doRun() at phar://D:/wamp/www/mosaicgenerator/skeletonmosaic/api/composer.phar/vendor/symfony/console/Application.php:123 
Symfony\Component\Console\Application->run() at phar://D:/wamp/www/mosaicgenerator/skeletonmosaic/api/composer.phar/src/Composer/Console/Application.php:98 
Composer\Console\Application->run() at phar://D:/wamp/www/mosaicgenerator/skeletonmosaic/api/composer.phar/bin/composer:43 
require() at D:\wamp\www\mosaicgenerator\skeletonmosaic\api\composer.phar:25 

我可以肯定地访问Git的回购,没关系。它只有主分支(没有分支)。

任何想法?

+0

不要向“composer.json”添加“版本”键,因为每个具有该文件的提交现在都会被标记为版本0.0.1。这将失败,并可能是您的问题的原因。版本将通过使用存储库中的标签进行标记。 – Sven

+0

我只使用版本密钥来跟随更改,它没有被我想象的任何东西使用。这只是我的眼睛。 – simonSays

+0

https://getcomposer.org/doc/04-schema.md#version“软件包的版本,在大多数情况下,这不是必需的,应该省略(见下文)。”您应该在存储库中标记版本。如果您需要快速查看您正在使用的版本:'git describe'会更精确地告诉您此版本的关键字:'0.0.1-10-g156ad78'意味着您的版本为0.0.1,另有10个版本在标签之后提交,并且当前提交是ID为156ad78的Git回购(“g”)。 – Sven

回答

0

好的,据我了解,服务器上存在SSL证书问题,所以git和composer无法正常工作。

0

如果这是一个公共包,这意味着每个人都可以使用。您必须在Packagist注册,以便您的本地作曲家可以找到它。

如果这是一个私人包装,仅适用于您或您的团队。然后用作曲家的私有仓库解决方案在本地composer.json

{ 
    "require": { 
     "vendor/my-private-repo": "dev-master" 
    }, 
    "repositories": [ 
     { 
      "type": "vcs", 
      "url": "[email protected]:vendor/my-private-repo.git" 
     } 
    ] 
} 

更多信息,请参见Composer Docs

相关问题