无法自我更新作曲家?

时间:2013-11-20 09:35:25

标签: php composer-php

我现在已经使用作曲家约一个月了。然后有一天作曲家向我展示了这条消息:

  

警告:作曲家的这个开发版本已经超过30天了。它是   建议通过运行" / usr / local / bin / composer来更新它   自更新"获得最新版本。

我已按照文档全局安装 composer

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.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

顺便说一句,我在 / opt 上安装了xampp 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 个答案:

答案 0 :(得分:21)

错误消息:

  

/ usr / bin / env:php:没有这样的文件或目录

告诉您找不到php,即未安装php-cli或您的PATH环境变量中没有php命令。

因此您需要安装(sudo apt-get install php5-cli)或将其放入PATH:

vim ~/.bashrc

PATH=$PATH:/path/to/php-cli/bin
export PATH

<强>更新

相应于Composer with XAMPP for Linux问题,符号链接php可执行文件应解决您的问题:

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

答案 1 :(得分:2)

如果您有xampp

,此解决方案将有效
ln -s /opt/lampp/bin/php /usr/local/bin/php

答案 2 :(得分:1)

我遇到了同样的问题(在Red Hat Enterprise Linux Server上)。我的解决方案是切换到root用户,而不是sudo:

sudo su
/usr/local/bin/composer self-update

答案 3 :(得分:0)

这与Centos https://stackoverflow.com/a/31945422/2400373

中的解决方案相同
   # /usr/local/php/bin/php -v
   #  /usr/local/php/bin/php /usr/local/bin/composer self-update

问候

相关问题