Не удается самостоятельно обновить composer?
я использую композитор уже около месяца. И вот однажды композитор показывает мне это сообщение:
предупреждение: это развитие сборки композитора более 30 дней. Это рекомендуется обновить его, запустив " / usr / local/bin / composer self-update", чтобы получить последнюю версию.
я установил композитор глобально согласно документации.
which composer
/usr/local/bin/composer
запуск sudo composer self-update дает мне это сообщение:
/ usr/bin / env: php: нет такого файла или каталога
Я проверил / usr/bin / env с этой командой:
whereis /usr/bin/env
env: /usr/bin/env /usr/bin/X11/env /usr/share/man/man1/env.1.gz
моя версия php:
PHP 5.5.1 (cli) (built: Jul 26 2013 19:50:47)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2013 Zend Technologies
with Xdebug v2.2.3, Copyright (c) 2002-2013, by Derick Rethans
кажется / usr/bin / env фактически существует.
я использую ubuntu 12.04 LTS.
обновление
strace sudo composer self-update 2>&1 | grep open
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
open("/lib/i386-linux-gnu/libutil.so.1", O_RDONLY|O_CLOEXEC) = 3
open("/lib/i386-linux-gnu/libdl.so.2", O_RDONLY|O_CLOEXEC) = 3
open("/lib/i386-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
open("/usr/lib/locale/locale-archive", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
open("/usr/share/locale/locale.alias", O_RDONLY|O_CLOEXEC) = 3
open("/usr/share/locale/en_PH/LC_MESSAGES/sudo.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en/LC_MESSAGES/sudo.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale-langpack/en_PH/LC_MESSAGES/sudo.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale-langpack/en/LC_MESSAGES/sudo.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/var/run/utmp", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
кстати, я использование xampp, установленного в / opt и php в моем путь.
echo $PATH
/home/chanhxc/bin:/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/chanhxc/bin:/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/opt/lampp/bin:/home/chanhxc/pear/bin:/home/chanhxc/.composer/vendor/bin:/opt/lampp/bin
4 ответов
сообщение об ошибке:
/ usr/bin / env: php: нет такого файла или каталога
говорит, что php
не нашел, т. е. php-cli
не установлен или команда php не находится в вашем PATH
переменные среды.
поэтому вам нужно установить (sudo apt-get install php5-cli
) или поместите его в путь:
vim ~/.bashrc
PATH=$PATH:/path/to/php-cli/bin
export PATH
обновление
соответственно композитор с XAMPP для Linux вопрос символическими исполняемый файл php должен решить вашу проблему:
ln -s /opt/lampp/bin/php /usr/local/bin/php
я столкнулся с той же проблемой (на сервере Red Hat Enterprise Linux). Мое решение состояло в том, чтобы переключиться на пользователя root, а не sudo:
sudo su
/usr/local/bin/composer self-update
это то же самое решение в Centos https://stackoverflow.com/a/31945422/2400373
# /usr/local/php/bin/php -v
# /usr/local/php/bin/php /usr/local/bin/composer self-update
в отношении