显示插入“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 色。这将修复您的输出。 ^^ 我不这么认为。32m
、34;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 | cat
或php artisan tinker | echo -e
我有output is not a tty
以上是关于显示插入“32m”、“34;4m”和类似物的工匠的主要内容,如果未能解决你的问题,请参考以下文章