首页 > 使用composer时候报错了,提示没有此远程composer

使用composer时候报错了,提示没有此远程composer

[rivsen@rivsen-dell-pc symfony]$ composer update -v
Loading composer repositories with package information
Updating dependencies
  - Updating kriswallsmith/assetic dev-master (deed96b => 8ca1861)
    Checking out 8ca1861fbed58e2c6ffcca5c0a1726c40a10a77c


                                                                                                            
  [RuntimeException]                                                                                        
  Failed to clone http://github.com/kriswallsmith/assetic.git via git, https and http protocols, aborting.  
                                                                                                            
  - git://github.com/kriswallsmith/assetic.git                                                              
    fatal: 没有此远程 'composer'                                                                                 
                                                                                                            
  - https://github.com/kriswallsmith/assetic.git                                                            
    fatal: 没有此远程 'composer'                                                                                 
                                                                                                            
  - http://github.com/kriswallsmith/assetic.git                                                             
    fatal: 没有此远程 'composer'                                                                                 
                                                                                                            
                                                                                                            


Exception trace:
 () at phar:///usr/local/bin/composer/src/Composer/Downloader/GitDownloader.php:341
 Composer\Downloader\GitDownloader->throwException() at phar:///usr/local/bin/composer/src/Composer/Downloader/GitDownloader.php:291
 Composer\Downloader\GitDownloader->runCommand() at phar:///usr/local/bin/composer/src/Composer/Downloader/GitDownloader.php:67
 Composer\Downloader\GitDownloader->doUpdate() at phar:///usr/local/bin/composer/src/Composer/Downloader/VcsDownloader.php:91
 Composer\Downloader\VcsDownloader->update() at phar:///usr/local/bin/composer/src/Composer/Downloader/DownloadManager.php:212
 Composer\Downloader\DownloadManager->update() at phar:///usr/local/bin/composer/src/Composer/Installer/LibraryInstaller.php:158
 Composer\Installer\LibraryInstaller->updateCode() at phar:///usr/local/bin/composer/src/Composer/Installer/LibraryInstaller.php:105
 Composer\Installer\LibraryInstaller->update() at phar:///usr/local/bin/composer/src/Composer/Installer/InstallationManager.php:171
 Composer\Installer\InstallationManager->update() at phar:///usr/local/bin/composer/src/Composer/Installer/InstallationManager.php:138
 Composer\Installer\InstallationManager->execute() at phar:///usr/local/bin/composer/src/Composer/Installer.php:460
 Composer\Installer->doInstall() at phar:///usr/local/bin/composer/src/Composer/Installer.php:187
 Composer\Installer->run() at phar:///usr/local/bin/composer/src/Composer/Command/UpdateCommand.php:82
 Composer\Command\UpdateCommand->execute() at phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Command/Command.php:238
 Symfony\Component\Console\Command\Command->run() at phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php:193
 Symfony\Component\Console\Application->doRun() at phar:///usr/local/bin/composer/src/Composer/Console/Application.php:101
 Composer\Console\Application->doRun() at phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php:106
 Symfony\Component\Console\Application->run() at phar:///usr/local/bin/composer/src/Composer/Console/Application.php:74
 Composer\Console\Application->run() at phar:///usr/local/bin/composer/bin/composer:37
 require() at /usr/local/bin/composer:15

但是我手动调用 git clone那几个地址都是可以clone的


经过翻看composer在github的issues,查到一个解决办法,因为我是从symfony官网下载的带vendor的2.1.4版本,然后解压之后就执行了 composer update 但是遇到了这个错误,github上回复说:

justin-amt commented 4 months ago

I have exactly same problem on php composer.phar update

[RuntimeException]
Failed to clone http://github.com/fabpot/Twig.git via git, https and http protocols, aborting.

- git://github.com/fabpot/Twig.git
fatal: No such remote 'composer'

- https://github.com/fabpot/Twig.git
fatal: No such remote 'composer'

- http://github.com/fabpot/Twig.git
fatal: No such remote 'composer'

How to correct it?

Seldaek commented 4 months ago
@justinamt that looks like you have an outdated vendor dir (from a very old composer.phar) just delete the vendor/* and run install or update again to get them up to date.

from https://github.com/composer/composer/...

于是我mv了vendor文件夹,然后执行 composer install 发现可以正常下载了。


如果你手工删除过包并自己手动clone,之后再用 composer update 命令来更新的话,也是会报这样的错误的。

在运行 composer update 命令的时候添加 -vvv 参数,可以看到更详细的输出结果,如:

  - Installing xxx/xxx (dev-master f53e70e)
    Cloning f53e70e2d62fbf6f83916f7aff0ea735978f8634
Executing command (CWD): git clone --no-checkout 'http://xxx.com/namespace/xxx.git' '/Users/david/Work/git/project/xxx.com/vendor/namespace/xxx' && cd '/Users/david/Work/git/project/xxx.com/vendor/namespace/xxx' && git remote add composer 'http://xxx.com/namespace/xxx.git' && git fetch composer
Executing command (/Users/david/Work/git/project/xxx.com/vendor/namespace/xxx): git branch -r
Executing command (/Users/david/Work/git/project/xxx.com/vendor/namespace/xxx): git checkout 'master'
Executing command (/Users/david/Work/git/project/xxx.com/vendor/namespace/xxx): git reset --hard 'f53e70e2d62fbf6f83916f7aff0ea735978f8634'

可以看到,composer 会再设置一个远程管理仓库,如果是自己手工 clone,那么就会少了这一步操作,当然会报错了,所以,若是要自己手工 clone 某个仓库的代码, clone 后进入代码目录,多加一步操作即可:

git remote add composer ${repo_url}
【热门文章】
【热门文章】