瀏覽代碼

Allow overriding self-update target file with envvar COMPOSER_SELF_UPDATE_TARGET

Useful if Composer is provided on a read-only filesystems, to allow
self-update to work with a different destination
Nils Adermann 5 年之前
父節點
當前提交
faa7c5eea2
共有 1 個文件被更改,包括 4 次插入0 次删除
  1. 4 0
      src/Composer/Command/SelfUpdateCommand.php

+ 4 - 0
src/Composer/Command/SelfUpdateCommand.php

@@ -351,6 +351,10 @@ TAGSPUBKEY
                 @copy($localFilename, $backupTarget);
             }
 
+            if ($targetFilename = getenv('COMPOSER_SELF_UPDATE_TARGET')) {
+                $localFilename = realpath($targetFilename) ?: $targetFilename;
+            }
+
             rename($newFilename, $localFilename);
 
             return null;