微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

composer php安装错误 – 输出不是一个tty,input不是一个tty

我试图通过PHP安装composer PHP,如他们的wesite中所述。

PHP -r "readfile('https://getcomposer.org/installer');" | PHP

但它显示以下错误

$ PHP -r "readfile('https://getcomposer.org/installer');" | PHP output is not a tty input is not a tty

我在Windows 7中,并使用git bash执行此命令。 在Windows命令提示符,它工作正常。 这个问题只发生在我从git bash 2.6.2-64bit运行这个命令时。

顺便说一句,我已经安装了composer PHP的Windows,并且工作正常。 但是我不能以这种方式下载composer.phar。 我该如何解决这个问题?

它可能是一个PATH或编码问题:

问题25提到:

似乎是git ls-remote origin ,从新建的并且安装好的MinGW Git运行,无法输出任何东西,而git ls-remote origin | cat git ls-remote origin | cat (从与MSys的/ MinGW的怪癖工作中学到的一个技巧)只说: output is not a tty (退出代码是127,表明一些可执行文件没有找到,但很难说哪一个是因为没有显示调试打印语句到stderr;看来,如果崩溃或die(),stderr不刷新)

问题519甚至建议unalias winpty

unalias $(alias | grep winpty | cut -d"=" -f1 | cut -d" " -f2)

但:

不,我们不能简单地放弃winpty。 PHP可以交互式运行,即它需要一个适当的Win32控制台。 在MinTTY中运行没有winpty的PHP将无法提供该控制台实例,从而使您看起来没有响应的终端。

请参阅git-for-windows / build-extra @ 44ed99b , #399和#400,以了解通过简单地删除这些别名会造成的破坏。

所以现在,bash控制台与通过管道执行PHP不兼容(因为第二个| PHP可能不会受益于winpty ,当程序需要Win32控制台进行交互使用时,这似乎是需要的)。

Peh 在评论中指出 :

如果使用C:`Program Files Git bin bash.exe instead of C: Program Files Git git-bash.exe`,那么该命令正常工作。

我正在使用它与ConsoleZ没有任何问题

这可能是因为bash.exe不使用winpty ,与git-bash.exe相反。

VonC的答案是正确的,为了帮助他人在将来我想提供一个更可视化的解决方案。

导航到C: Program Files Git bin

双击bash.exe

您现在应该看到一个命令提示符。

导航到您的PHP项目目录并安装Composer。

$ cd C: path to your project

$ curl -sS https://getcomposer.org/installer | PHP

$ ls

文件composer.phar现在在项目根目录中可见。

用作曲者安装一个软件包。

$ PHP composer.phar需要一些包,你想要安装

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐