Skip to content

Replacing path local package with upstream fails #11111

@liayn

Description

@liayn

The project requires "sjbr/static-info-tables", which was kept inside the project as a path-repository.
Now that the upstream has the relevant fixes included, I remove the local package, hence the upstream one should be taken.
Composer tries to do this, but fails to remove the symlink in the vendor folder (pointing to the former local package).
Therefore, it fails to install the new version.

The workaround is easy, but cumbersome: Remove the symlink manually, and everything works as exepcted.

My composer.json:

{
	"repositories": [
		{
			"type": "path",
			"url": "packages/*"
		}
       ],
      ....
      "require": {
           "sjbr/static-info-tables": "^11"
      }

Output of composer diagnose:

Checking platform settings: OK
Checking git settings: OK git version 2.30.2
Checking http connectivity to packagist: OK
Checking https connectivity to packagist: OK
Checking github.com oauth access: OK
Checking disk free space: OK
Checking pubkeys: FAIL
Missing pubkey for tags verification
Missing pubkey for dev verification
Run composer self-update --update-keys to set them up
Checking composer version: You are not running the latest stable version, run `composer self-update` to update (2.4.1 => 2.4.2)
Composer version: 2.4.1
PHP version: 8.1.8
PHP binary path: /usr/bin/php8.1
OpenSSL version: OpenSSL 1.1.1n  15 Mar 2022
cURL version: 7.74.0 libz 1.2.11 ssl OpenSSL/1.1.1n
zip: extension present, unzip present, 7-Zip not available
composer [diagnose] failed, composer command failed: exit status 2. stderr=

When I run this command: composer update

In Filesystem.php line 254:

  [RuntimeException]
  /var/www/html/vendor/sjbr/static-info-tables does not exist and could not be created.  

Exception trace:
  at phar:///usr/local/bin/composer/src/Composer/Util/Filesystem.php:254
 Composer\Util\Filesystem->ensureDirectoryExists() at phar:///usr/local/bin/composer/src/Composer/Util/Filesystem.php:78
 Composer\Util\Filesystem->emptyDirectory() at phar:///usr/local/bin/composer/src/Composer/Downloader/VcsDownloader.php:102
 Composer\Downloader\VcsDownloader->prepare() at phar:///usr/local/bin/composer/src/Composer/Downloader/DownloadManager.php:250
 Composer\Downloader\DownloadManager->prepare() at phar:///usr/local/bin/composer/src/Composer/Installer/LibraryInstaller.php:125
 Composer\Installer\LibraryInstaller->prepare() at phar:///usr/local/bin/composer/src/Composer/Installer/InstallationManager.php:386
 Composer\Installer\InstallationManager->executeBatch() at phar:///usr/local/bin/composer/src/Composer/Installer/InstallationManager.php:334
 Composer\Installer\InstallationManager->downloadAndExecuteBatch() at phar:///usr/local/bin/composer/src/Composer/Installer/InstallationManager.php:242
 Composer\Installer\InstallationManager->execute() at phar:///usr/local/bin/composer/src/Composer/Installer.php:787
 Composer\Installer->doInstall() at phar:///usr/local/bin/composer/src/Composer/Installer.php:616
 Composer\Installer->doUpdate() at phar:///usr/local/bin/composer/src/Composer/Installer.php:281
 Composer\Installer->run() at phar:///usr/local/bin/composer/src/Composer/Command/UpdateCommand.php:240
 Composer\Command\UpdateCommand->execute() at phar:///usr/local/bin/composer/vendor/symfony/console/Command/Command.php:298
 Symfony\Component\Console\Command\Command->run() at phar:///usr/local/bin/composer/vendor/symfony/console/Application.php:1024
 Symfony\Component\Console\Application->doRunCommand() at phar:///usr/local/bin/composer/vendor/symfony/console/Application.php:299
 Symfony\Component\Console\Application->doRun() at phar:///usr/local/bin/composer/src/Composer/Console/Application.php:343
 Composer\Console\Application->doRun() at phar:///usr/local/bin/composer/vendor/symfony/console/Application.php:171
 Symfony\Component\Console\Application->run() at phar:///usr/local/bin/composer/src/Composer/Console/Application.php:138
 Composer\Console\Application->run() at phar:///usr/local/bin/composer/bin/composer:88
 require() at /usr/local/bin/composer:29

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions