显示插入“32m”、“34;4m”和类似物的工匠

Posted

技术标签:

【中文标题】显示插入“32m”、“34;4m”和类似物的工匠【英文标题】:Artisan showing inserting "32m", "34;4m" and similar 【发布时间】:2016-02-05 20:42:54 【问题描述】:

我不知道为什么,但我的 Git Bash 终端在某些地方显示 34m 和随机数。这是一个屏幕截图。

感谢您的帮助。

【问题讨论】:

我不是 100% 确定,但您需要将终端颜色模式更改为 256 色。这将修复您的输出。 ^^ 我不这么认为。 32m34;4m 也可用于 8 位调色板...查看 OP 的 PS1,8 位调色板似乎正在工作。 唯一对我有用(我也尝试过 ANSICON 解决方案)是将--no-ansi 附加到我的php artisan 命令。为了节省输入,我编辑了我的 .profile 文件以包含 alias artisan="php artisan --no-ansi"。有了这个,我可以输入诸如artisan storage:link 之类的命令,而不会在输出中得到任何有趣的事情。 唯一对我有用的解决方案是安装 2.10.1 版。您可以通过显式搜索找到此版本。 【参考方案1】:

只用这个命令更新 Symfony 包 -> composer update symfony/*

【讨论】:

【参考方案2】:

这是一个已知问题,您应该恢复 symfony 控制台版本

https://github.com/laravel/framework/issues/30216

composer require symfony/console:4.3.4

有关更多信息,请关注 symfony github repo 上的票证:https://github.com/symfony/symfony/issues/33915

在这里获取我的信息: https://laracasts.com/discuss/channels/laravel/php-artisan-not-working-4

【讨论】:

【参考方案3】:

列出的解决方案都不适合我,在 Git/etc/bash.bashrc 中添加这些行解决了这个问题。

# remove the winpty PHP aliases
unalias $(alias | grep winpty | grep php | cut -d"=" -f1 | cut -d" " -f2)

# support ansi color
export ANSICON=true

我在https://blog.kmelia.net/testing/coloration-dans-git-bash/123找到了解决方案

我在 Windows 10 上使用 git bash for windows,我的 git 版本是 2.21.0

希望对你有帮助

【讨论】:

这适用于我在 Windows 10 + git 2.23 上。其他一切都失败了 Windows 上的 Git Bash 附带的这个 php 别名 (alias php='winpty php.exe') 解释了为什么当 composer 调用带有 @php 的命令(引用当前正在运行的 php)但相同的命令不从终端手动调用时没有颜色。相关:github.com/git-for-windows/git/issues/519 在 win 10 + git 2.24 上为我工作。 'xterm-256color' 什么也没做。【参考方案4】:

这是一个 GIT 版本兼容性问题。 就我而言,删除最新版本并下载并安装 GIT 2.10 版。问题解决了。 https://github.com/git-for-windows/git/releases/tag/v2.10.0.windows.1

【讨论】:

【参考方案5】:

解决颜色问题下载并安装此 https://github.com/adoxa/ansicon

安装步骤

1)提取文件夹并导航到 x86/64(取决于您的系统) 2)打开命令 3)ansicon.exe -I

简单:)

【讨论】:

【参考方案6】:

另一个选项是使用 --no-ansi 开关运行 Laravel 脚本,这会完全禁用 ANSI 代码。

【讨论】:

这是唯一对我有用的解决方案。我已经尝试了几种不同的方式,但它不想工作。我在 Windows10 机器上。谢谢皮特!【参考方案7】:

尝试将终端的 Git Bash 选项更改为 xterm-256color。归功于:http://www.techhelp.pw/git-bash-using-laravel-artisan-displays-escaped-characters/

【讨论】:

我不得不打开和关闭(我认为) 是的@haakym,我的经验也是我必须关闭并打开它。【参考方案8】:

似乎颜色代码显示不正确:

[34m 是蓝色前景色,[39m 是默认前景色。

但是你需要一个前缀转义字符:

在 Bash 中, 字符可以通过以下语法获得:

\e \033 \x1B

在此处查看更多信息:http://misc.flogisoft.com/bash/tip_colors_and_formatting


这里也讨论了同样的问题:ANSI color escape sequences seem broken for arc in git bash on windows

基本上提到了hackish修复:

php artisan tinker | cat 
php artisan tinker | echo -e

其他一些资源:

ANSI color in git is not displayed correctlyIn Git Bash on Windows 7, Colors display as code when running Cucumber or rspec

【讨论】:

还有更多内容。更多,因为OP 有配置问题,而不是代码问题。 PsySH 使用这些代码,使这个答案变得毫无意义。见:github.com/JakubOnderka/PHP-Console-Color/blob/master/src/… @Amelia 这是正确的,我只是对此发表评论以获取信息,以便为 OP 提供一些工具以继续进行 hems 搜索。但是因为这不适合作为评论,所以我决定发布作为答案。 这个问题实际上是一个很常见的问题,它源于 git-bash 伪装成 cygwin(它理解颜色代码)但它的本机程序(echo、cat、ls 等)都是将颜色转换为 cmd.exe 可以理解的内容(它不理解颜色代码)。也为更新点赞。 @andlrc 如果我尝试php artisan tinker | catphp artisan tinker | echo -e 我有output is not a tty

以上是关于显示插入“32m”、“34;4m”和类似物的工匠的主要内容,如果未能解决你的问题,请参考以下文章

工匠家平台系统开发类似滴滴打车模式app详解

工匠家模式系统开发滴滴打车平台

CDTmp3插入电脑怎么不显示

为啥我的内存卡插到电脑上已经显示有H要复制东西的时候却还是提醒我插入H啊?

框选人物的例子+改变鼠标图标(类似红警)

为啥电脑插u盘没反应