在本地主机上的Symfony2上运行composer更新时出现运行时异常

在本地主机上的Symfony2上运行composer更新时出现运行时异常,symfony,composer-php,Symfony,Composer Php,使用composer更新依赖项时出现运行时异常。以下是跟踪: Exception trace: () at phar:///usr/bin/composer.phar/src/Composer/Downloader/GitDownloader.php:158 Composer\Downloader\GitDownloader->cleanChanges() at phar:///usr/bin/composer.phar/src/Composer/Downloader/VcsDownl

使用composer更新依赖项时出现运行时异常。以下是跟踪:

Exception trace:
 () at phar:///usr/bin/composer.phar/src/Composer/Downloader/GitDownloader.php:158
 Composer\Downloader\GitDownloader->cleanChanges() at phar:///usr/bin/composer.phar/src/Composer/Downloader/VcsDownloader.php:89
 Composer\Downloader\VcsDownloader->update() at phar:///usr/bin/composer.phar/src/Composer/Downloader/DownloadManager.php:255
 Composer\Downloader\DownloadManager->update() at phar:///usr/bin/composer.phar/src/Composer/Installer/LibraryInstaller.php:176
 Composer\Installer\LibraryInstaller->updateCode() at phar:///usr/bin/composer.phar/src/Composer/Installer/LibraryInstaller.php:105
 Composer\Installer\LibraryInstaller->update() at phar:///usr/bin/composer.phar/src/Composer/Installer/InstallationManager.php:173
 Composer\Installer\InstallationManager->update() at phar:///usr/bin/composer.phar/src/Composer/Installer/InstallationManager.php:140
 Composer\Installer\InstallationManager->execute() at phar:///usr/bin/composer.phar/src/Composer/Installer.php:529
 Composer\Installer->doInstall() at phar:///usr/bin/composer.phar/src/Composer/Installer.php:215
 Composer\Installer->run() at phar:///usr/bin/composer.phar/src/Composer/Command/UpdateCommand.php:123
 Composer\Command\UpdateCommand->execute() at phar:///usr/bin/composer.phar/vendor/symfony/console/Symfony/Component/Console/Command/Command.php:241
 Symfony\Component\Console\Command\Command->run() at phar:///usr/bin/composer.phar/vendor/symfony/console/Symfony/Component/Console/Application.php:892
 Symfony\Component\Console\Application->doRunCommand() at phar:///usr/bin/composer.phar/vendor/symfony/console/Symfony/Component/Console/Application.php:191
 Symfony\Component\Console\Application->doRun() at phar:///usr/bin/composer.phar/src/Composer/Console/Application.php:117
 Composer\Console\Application->doRun() at phar:///usr/bin/composer.phar/vendor/symfony/console/Symfony/Component/Console/Application.php:121
 Symfony\Component\Console\Application->run() at phar:///usr/bin/composer.phar/src/Composer/Console/Application.php:83
 Composer\Console\Application->run() at phar:///usr/bin/composer.phar/bin/composer:43
 require() at /usr/bin/composer.phar:15
我一点也不知道这到底是怎么回事!现在我甚至无法将供应商捆绑包添加到我的应用程序:(

我得到这个权利后,我回应n当它问我,如果我想放弃修改后的文件上的更改

Updating sensio/distribution-bundle (v2.2.6 => 2.2.x-dev 2779c8b)
    The package has modified files:
--- somes files...

我经常遇到这个错误。下面是一个不同包的示例:

您可以键入
$git diff
,查看composer所说的更改

如果您尚未对
sensio/distribution bundle
进行任何更改,只需键入y,然后按enter键即可。(作曲家将询问“是否要放弃更改?”

这是因为composer可以看到在
sensio/distribution bundle
中有一些修改

这有两种情况:

1您确实对供应商文件做了一些更改,在本例中是
sensio/distribution bundle
。您不应该这样做……如果您想这样做,只需在本例中插入
sensio/distribution bundle
,并将其添加到您的
composer.json
文件中:

"repositories": [
      {
        "type": "vcs",
        "url": "git@github.com:YourUsername/SensioDistributionBundle.git"
      },
    ],
"require": {
        //...
        "sensio/distribution-bundle":"dev-master",
        //...
      },
//...
# PHP Storm generated files #
.idea
# OS generated files #
*.DS_Store
2您没有做任何更改

您已对供应商文件进行了一些更改,在本例中为
sensio/distribution bundle
。根据您使用的IDE或OS,也可能发生更改。在本例中,请始终回答“是”。如果这些文件是由IDE或OS创建的,只需将其添加到
。gitignore
文件中:

"repositories": [
      {
        "type": "vcs",
        "url": "git@github.com:YourUsername/SensioDistributionBundle.git"
      },
    ],
"require": {
        //...
        "sensio/distribution-bundle":"dev-master",
        //...
      },
//...
# PHP Storm generated files #
.idea
# OS generated files #
*.DS_Store

异常消息和文件/行号是什么?您只包含了跟踪。顺便说一句,如果您想放弃更改,可以在再次更新之前轻松删除位于
供应商
中的
sensio/distribution bundle
文件夹。这看起来像是调用
cleanChanges()时的权限问题
。没有行号,因为我是在终端上运行的。我很确定你是在使用权限的情况下编写的。我知道,当你使用mac在symfony上开发时,经常会发生这种情况。我在学校的pc上运行过,一切都很顺利……直到我发现我忘记了本地服务器上的symfony文件,哈哈。我必须调查一下在osx上允许的情况下吃更多。谢谢你指出这一点。我更新了我的答案@leseulsteve。祝你好运!