在找不到EC2 Linux命令时安装Composer

时间:2016-12-12 19:08:34

标签: linux amazon-ec2 composer-php

我运行以下命令来安装Composer:

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('SHA384', 'composer-setup.php') === 'aa96f26c2b67226a324c27919f1eb05f21c248b987e6195cad9690d5c1ff713d53020a02ac8c217dbf90a7eacc9d141d') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php --install-dir=/usr/local/bin
php -r "unlink('composer-setup.php');"

之后,当我运行composer时,我发现它正在运行。但是,每当我运行sudo composer时,我总会收到

  

未找到命令。

echo $PATH的输出是:

  

/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/opt/aws/bin:/home/ec2-user/.local/仓:/家庭/ EC2用户/ bin中

如何在sudo下启用composer?

4 个答案:

答案 0 :(得分:3)

如果你可以独自运行作曲家和#34;然后你应该在/usr/local/bin/composer中安装作曲家,这样你就可以用

将其链接到/usr/bin/composer
sudo ln -s /usr/local/bin/composer /usr/bin/composer

然后运行

sudo composer install

答案 1 :(得分:0)

很难用有限的信息回答问题。

  1. 看看你是否可以运行sudo composer.phar。这是作曲家自己安装的默认名称。除非您通过mv /usr/local/bin/composer.phar /usr/local/bin/composer重命名它。
  2. 运行ls /usr/local/bin/以验证是否已安装composer。除非您root,否则您可能无权访问/usr/local/bin

答案 2 :(得分:0)

首先,您需要通过SSH进入EC2实例

ssh -i ~/.ssh/<your_group_security>.pem ec2-user@<ec2-public-ip>

在您的EC2实例上运行以下命令

$ cd ~
$ sudo curl -sS https://getcomposer.org/installer | sudo php
$ sudo mv composer.phar /usr/local/bin/composer
$ sudo ln -s /usr/local/bin/composer /usr/bin/composer

然后您可以运行验证作曲家安装

$ sudo composer install

答案 3 :(得分:-1)

改进先前的答案- SSH进入终端并输入:

$ cd ~
$ sudo curl -sS https://getcomposer.org/installer | sudo php
$ sudo mv composer.phar /usr/local/bin/composer
$ sudo ln -s /usr/local/bin/composer /usr/bin/composer

如果您遇到一条错误消息: PHP致命错误:phar中出现错误消息'proc_open()的未捕获异常'ErrorException':fork失败-无法分配内存'

/bin/dd if=/dev/zero of=/var/swap.1 bs=1M count=1024
/sbin/mkswap /var/swap.1
/sbin/swapon /var/swap.1