Erreur “impossible de supprimer” avec le Compositeur sur Vagrant
J'ai un Vagabond sous Linux et je suis en train d'installer Symfony.
Après la commande composer create-project symfony/framework-standard-edition ./"2.5.*"
j'ai l'erreur :
[RuntimeException]
Could not delete ./.git/objects/pack/tmp_idx_llwUKb:
Si j'essaie de compositeur de mise à jour d'un autre projet, j'ai toujours ce genre d'erreur Could not delete
Des idées?
Edit: Pour une simple sudo composer update -vvv
sur un autre projet:
- 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
- Pouvez-vous ajouter
-vvv
pour que le compositeur de commande et de mise à jour de la question avec la sortie ? - Yep, c'est fait 😉
Vous devez vous connecter pour publier un commentaire.
C'est arrivé une fois pour moi et il s'avère que j'ai été frappé du compositeur délai d'attente.
Vous pouvez prendre les mesures suivantes pour obtenir une vitesse:
dist
de préférence pour le type d'installation.https
protocole pour github, ce qui est plus rapide.~/.compositeur/config.json
Si vous avez encore des problèmes après cela, vous pouvez également effacer du compositeur cache:
vagrant
utilisateur ? Et si non, quels sont les autorisations que l'utilisateur a pour/vagrant
répertoire ?sudo
, et vous pourriez vous reformuler votre question et le tag'git
. Peut-être que quelqu'un a rencontré ce problème avant et peut vous aider.Il suffit d'exécuter
Cela va vous donner l'accès en écriture pour le dossier que vous exécutez compositeur.
Je sais que c'est un vieux post, mais cela fonctionne si je dois le partager.
Nous sommes en cours d'exécution dans des questions aussi. Il y a plusieurs personnes qui semblent avoir ce problème, un correctif n'a pas été fourni. Pour plus d'informations, vous pouvez regarder dans github questions vagabond-winnfsd.
J'ai eu ce problème lors de la configuration de la machine, qui a été amorcé pour exécuter
composer install
. J'ai simplement sorti de la VM et a courucomposer install
sur le code sur mon ordinateur hôte et cela a fonctionné.Donc, si vous êtes confronté à ce problème lors de l'exécution de Compositeur l'intérieur de la VM, juste essayer de lancer Compositeur de l'extérieur de la VM.
Mise à jour: Comme indiqué dans les commentaires ci-dessous, cela peut poser quelques problèmes avec les différentes versions de paquets sont installés en raison de la différence dans les configurations de système entre le local et l'Errance des milieux, donc faire preuve de prudence lors de tout essayer.
Juste eu le même problème.
Je vois le problème dans l'accès à certains fichiers locaux. Dans mon cas répertoire cible était sous "root" et je ne suis pas l'utilisateur root.
Solution
Modifier les autorisations/propriétaire de vos fichiers/répertoire.
1. Redéfinir propriétaire:
2. Peut-être il ya un certain manque d'autorisations pour le groupe qui vous êtes.
Donc, essayez de l'exécuter:
Ou peut-être vous pouvez exécuter votre commande avec "sudo" si cela fonctionne pour vous (pas recommandé). 🙂
P. S. N'utilisez jamais de 777. Il n'est pas sécurisé.
Sur AWS, j'ai eu cette erreur lors du déploiement Yii cadre du projet, il y avait cette
dossier j'ai supprimé tout à l'intérieur, il revint à ma racine du document et a couru compositeur de mise à jour il a cherché tous les dépôts de nouveau.
Dans mon cas , en supprimant le plugin et de re-créer la zone de résoudre le problème.
Pour moi, c'causée par du compositeur délai. J'ai vérifié mon de la vitesse d'internet et a trouvé qu'il est tombé à 0,7 M qui est à peu près inutilisable. Après j'ai rebranché le wifi et avoir ma vitesse de connexion internet, de retour à la normale, les erreurs ont disparu.
Cela a quelque chose à faire avec la synchronisation des dossiers entre l'hôte et l'invité de Systèmes d'exploitation, le dossier pourrait être simplement temporairement verrouillé à partir de votre ordinateur hôte.
La solution est tout simplement de supprimer le contenu litigieux
.git
dossier à partir de votre système d'exploitation hôte ou de redémarrer la machine et de lancercomposer install
de nouveau.Idéalement, chaque OS a ses propres dépendances et binaires différents, donc vous devriez vous isoler de votre
/vendor
le dossier de la rsync/vagrant partage de dossier, de même vous devez faire de même avec/node_modules
sur un projet Nodejs.Dans mon cas, j'ai essayé
composer update
, mais j'ai euMalgré que je suis en utilisant le framework Laravel, cette question a été le premier lien dans Google, j'ai donc décidé de poster une réponse.
Ma solution a été d'accorder la propriété pour
vendor
:sudo chown -R $USER:www-data vendor/
etsudo chown -R $USER:www-data composer.json
Une autre chose à vérifier, le Compositeur doit s'exécuter dans le contexte d'un répertoire, il dispose des autorisations.
Dans mon cas, j'ai essayé de question de créer un projet de commande à partir de /var/www, visant à l'encontre de /var/www/html. /var/www est la propriété de root, /var/www/html est détenue par le même utilisateur, je l'ai exécuté en tant que Compositeur (www-data). J'ai obtenu l'erreur suivante; impossible de supprimer " /var/www/html/:
Émis le même Compositeur commande dans /var/www/html lui-même et il a parfaitement fonctionné.
Pour moi, il a aidé à installer une (nouvelle) version via la ligne de commande à partir d'un téléchargement page d'accueil https://getcomposer.org/download/. Je ne peux exclure certaines autorisations de fichier comme j'étais en root avec la commande chmod +R 0777, si j'avais virtualbox monté en voiture. De toute façon depuis la nouvelle version travaillé, dire que c'était la version, ou l'exécution d'une nouvelle version via php phar, et l'original bin appartenait à la racine
Pour les utilisateurs de Windows
Wow, je ne peux pas croire combien de temps il m'a fallu pour réaliser cela, et, malheureusement, il est arrivé plusieurs fois, et je suis enfin de l'écriture de cette note pour que moi et les autres peuvent récupérer rapidement la prochaine fois.
Suffit d'utiliser l'Explorateur Windows pour aller supprimer le
/vendor/whatever_project_name
dossier au lieu d'essayer de le supprimer de l'Errance de la ligne de commande.Puis exécutez
composer update
pour réinstaller les dépendances.