我试图通过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] 举报,一经查实,本站将立刻删除。