如何安装旧版本的composer

asm*_*Lri 33 php composer-php

我想安装旧版本的作曲家。我的命令是:

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === 'baf1608c33254d00611ac1705c1d9958c817a1a33bce370c0595974b342601bd80b92a3f46067da89e3b06bff421f182') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php --version=1.4.1
php -r "unlink('composer-setup.php');"
Run Code Online (Sandbox Code Playgroud)

但它没有安装作曲家。我检查了命令,composer -v但不幸的是它不起作用。我怎样才能做到这一点?

rob*_*006 67

这些命令将composer.phar在当前工作目录的文件中安装 Composer 二进制文件。您可以尝试通过运行php composer.phar -v命令来验证这一点。composercommand 最喜欢指向系统中的某些全局安装 - 您需要将新二进制文件移动到正确的位置,以便它可以被识别为全局命令(请参阅文档):

mv composer.phar /usr/local/bin/composer
Run Code Online (Sandbox Code Playgroud)

如果您已经安装了 Composer,您应该可以使用self-update命令降级到任何版本:

composer self-update 1.4.1
Run Code Online (Sandbox Code Playgroud)

或者

sudo -H composer self-update 1.4.1
Run Code Online (Sandbox Code Playgroud)

  • `1.4.1` 相当旧,它可能无法在最新的 PHP 上运行。如果您只想返回到 1.x 行,请使用“composer self-update --1”(如果您的作曲家不支持“--1”标志,则使用“composer self-update 1.10.17”)。 (5认同)
  • 这绝对是改变作曲家版本的方式。虽然我已经安装了版本 1,如下所示:`curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer --version=1.10.16` (4认同)
  • 当我的项目在 1.8.0 版本成功运行时,我遇到了 compose 2.0 的问题。使用“composer自我更新[版本]”解决问题。真的是一种油漆般的意外错误不知从何而来。 (3认同)

goe*_*ner 14

如果您来这里是为了从 composer 2.0 降级到 1.0

composer self-update --1

  • 我认为“sudo”在大多数情况下是不必要的,因为它将 .composer 的所有者更改为 root 用户。 (2认同)

Ama*_*Bah 10

Curl 可用于下载特定版本:

curl -O "https://getcomposer.org/download/1.10.17/composer.phar"
chmod a+x composer.phar
sudo mv composer.phar /usr/local/bin/composer
Run Code Online (Sandbox Code Playgroud)


小智 8

如果您已经安装了composer v2,并且还想安装composer v1,您可以执行以下操作:

wget https://getcomposer.org/composer-1.phar
chmod a+x composer-1.phar
sudo mv composer-1.phar /usr/local/bin/composer1
Run Code Online (Sandbox Code Playgroud)

composer1并在旧项目上使用:

cd <OLD-PROJECT>
composer1 install
Run Code Online (Sandbox Code Playgroud)