无法自我更新作曲家?

the*_*777 7 php composer-php

我一直在使用作曲家大约一个月了.然后有一天作曲家给我看了这条消息:

警告:作曲家的这个开发版本已经超过30天了.建议通过运行"/ usr/local/bin/composer self-update"来更新它以获取最新版本.

我根据文档全局安装了composer.

which composer
/usr/local/bin/composer
Run Code Online (Sandbox Code Playgroud)

运行sudo composer自我更新给了我这样的信息:

/ 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
Run Code Online (Sandbox Code Playgroud)

我的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
Run Code Online (Sandbox Code Playgroud)

事实上似乎/ usr/bin/env存在.

我正在使用ubuntu 12.04LTS.

更新

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
Run Code Online (Sandbox Code Playgroud)

顺便说一下,我正在使用安装在/ opt 和php的 xampp 在我的PATH中.

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
Run Code Online (Sandbox Code Playgroud)

Ser*_*nko 21

错误消息:

/ 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
Run Code Online (Sandbox Code Playgroud)

UPDATE

因此,使用XAMPP for Linux的Composer问题符号化php可执行文件应解决您的问题:

ln -s /opt/lampp/bin/php /usr/local/bin/php