使用Composer on Vagrant时出现"无法删除"错误

 sasame 发布于 2022-12-18 11:41

我有一个运行Linux的Vagrant,我正在尝试安装Symfony.

命令后composer create-project symfony/framework-standard-edition ./ "2.5.*"我有错误:

[RuntimeException]
  Could not delete ./.git/objects/pack/tmp_idx_llwUKb:

如果我尝试编写更新另一个项目,我总是会遇到这种错误 Could not delete

有任何想法吗?

编辑:对于sudo composer update -vvv另一个项目的简单:

  - Installing sonata-project/admin-bundle (dev-master 8a022aa)
Failed to download sonata-project/admin-bundle from source: Could not delete /vagrant/crm_neo/vendor/sonata-project/admin-bundle/.git/objects/pack/tmp_idx_hchQhc:
Now trying to download from dist
  - Installing sonata-project/admin-bundle (dev-master 8a022aa)

Failed: [RuntimeException] Could not delete /vagrant/crm_neo/vendor/sonata-project/admin-bundle/.git/objects/pack/tmp_idx_hchQhc:



  [RuntimeException]
  Could not delete /vagrant/crm_neo/vendor/sonata-project/admin-bundle/.git/o
  bjects/pack/tmp_idx_hchQhc:



Exception trace:
 () at phar:///usr/local/bin/composer/src/Composer/Util/Filesystem.php:193
 Composer\Util\Filesystem->unlink() at phar:///usr/local/bin/composer/src/Composer/Util/Filesystem.php:151
 Composer\Util\Filesystem->removeDirectoryPhp() at phar:///usr/local/bin/composer/src/Composer/Util/Filesystem.php:129
 Composer\Util\Filesystem->removeDirectory() at phar:///usr/local/bin/composer/src/Composer/Util/Filesystem.php:35
 Composer\Util\Filesystem->remove() at phar:///usr/local/bin/composer/src/Composer/Util/Filesystem.php:80
 Composer\Util\Filesystem->emptyDirectory() at phar:///usr/local/bin/composer/src/Composer/Downloader/FileDownloader.php:108
 Composer\Downloader\FileDownloader->doDownload() at phar:///usr/local/bin/composer/src/Composer/Downloader/FileDownloader.php:89
 Composer\Downloader\FileDownloader->download() at phar:///usr/local/bin/composer/src/Composer/Downloader/ArchiveDownloader.php:35
 Composer\Downloader\ArchiveDownloader->download() at phar:///usr/local/bin/composer/src/Composer/Downloader/DownloadManager.php:201
 Composer\Downloader\DownloadManager->download() at phar:///usr/local/bin/composer/src/Composer/Installer/LibraryInstaller.php:156
 Composer\Installer\LibraryInstaller->installCode() at phar:///usr/local/bin/composer/src/Composer/Installer/LibraryInstaller.php:87
 Composer\Installer\LibraryInstaller->install() at phar:///usr/local/bin/composer/src/Composer/Installer/InstallationManager.php:152
 Composer\Installer\InstallationManager->install() at phar:///usr/local/bin/composer/src/Composer/Installer/InstallationManager.php:139
 Composer\Installer\InstallationManager->execute() at phar:///usr/local/bin/composer/src/Composer/Installer.php:548
 Composer\Installer->doInstall() at phar:///usr/local/bin/composer/src/Composer/Installer.php:217
 Composer\Installer->run() at phar:///usr/local/bin/composer/src/Composer/Command/UpdateCommand.php:128
 Composer\Command\UpdateCommand->execute() at phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Command/Command.php:252
 Symfony\Component\Console\Command\Command->run() at phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php:889
 Symfony\Component\Console\Application->doRunCommand() 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:135
 Composer\Console\Application->doRun() at phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php:124
 Symfony\Component\Console\Application->run() at phar:///usr/local/bin/composer/src/Composer/Console/Application.php:84
 Composer\Console\Application->run() at phar:///usr/local/bin/composer/bin/composer:43
 require() at /usr/local/bin/composer:15

Alexandru Gu.. 31

它发生在我身上,事实证明我正在打击作曲家的超时.

您可以采取以下措施来获得一些速度:

    增加作曲家进程超时(默认为300)(如果以下设置可以帮助您获得速度,但不会受到伤害,则不需要)

    设置dist为首选安装类型.

    https为github 启用协议,速度更快.

〜/ .composer/config.json

{
    "config": {
        "process-timeout":      600,
        "preferred-install":    "dist",
        "github-protocols":     ["https"]
    }
}

如果之后仍有问题,您还可以清除作曲家的缓存:

rm -rf ~/.composer/cache


aalaap.. 5

在配置机器时遇到了这个问题,该机器被引导运行composer install。我只是退出了VM,然后composer install在主机上运行了代码,它就起作用了。

因此,如果在VM内运行Composer时遇到此问题,只需尝试从VM外部运行Composer即可。

更新:正如下面的评论中指出的那样,由于本地和Vagrant环境之间的系统配置不同,这可能会导致安装不同版本的软件包时出现一些问题,因此在尝试此操作时要格外小心。

3 个回答
  • 它发生在我身上,事实证明我正在打击作曲家的超时.

    您可以采取以下措施来获得一些速度:

      增加作曲家进程超时(默认为300)(如果以下设置可以帮助您获得速度,但不会受到伤害,则不需要)

      设置dist为首选安装类型.

      https为github 启用协议,速度更快.

    〜/ .composer/config.json

    {
        "config": {
            "process-timeout":      600,
            "preferred-install":    "dist",
            "github-protocols":     ["https"]
        }
    }
    

    如果之后仍有问题,您还可以清除作曲家的缓存:

    rm -rf ~/.composer/cache
    

    2022-12-18 11:43 回答
  • I was trying to update project dependencies (using composer update) during a Laravel Framework upgrade exercise in my local Homestead environment (having run vagrant ssh to login as the default "vagrant" user) and none of the previous answers in this thread made any difference to the...

    Could not delete /home/vagrant/projects/projectname/vendor/kylekatarnls/update-helper/src/UpdateHelper
    

    ...error message I repeatedly encountered.

    The only thing that worked for me was to include a composer option as follows:

    composer update --no-plugins
    

    2022-12-18 11:43 回答
  • 在配置机器时遇到了这个问题,该机器被引导运行composer install。我只是退出了VM,然后composer install在主机上运行了代码,它就起作用了。

    因此,如果在VM内运行Composer时遇到此问题,只需尝试从VM外部运行Composer即可。

    更新:正如下面的评论中指出的那样,由于本地和Vagrant环境之间的系统配置不同,这可能会导致安装不同版本的软件包时出现一些问题,因此在尝试此操作时要格外小心。

    2022-12-18 11:43 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有