在Cygwin下的Strawberry Perl环境中运行CPAN shell时遇到了一个奇怪的提示问题。
使用perl -MCPAN -eshell
启动CPAN时,我得到以下输出:
cpan shell -- CPAN exploration and modules installation (v1.9600)
Enter 'h' for help.
请注意,缺少标准cpan>
提示。为什么这样,我该如何解决?
输入quit\n
时,我会收到提示,但 后我发出命令:
quit
cpan> Lockfile removed.
答案 0 :(得分:2)
这是在cygwin终端窗口中运行交互式Windows程序的基本问题。 我没有方便的cygwin安装试试,但尝试
cygstart perl -MCPAN -eshell
或安装conin并执行
conin perl -MCPAN -eshell
答案 1 :(得分:0)
如果运行 git-bash(不是 cygwin),那么用 winpty 启动 cpan:
winpty perl -MCPAN -eshell
现在应该出现'cpan>'提示。您可能会收到警告:
Unable to get Terminal Size. The Win32 GetConsoleScreenBufferInfo call didn't work. The COLUMNS and LINES environment variables didn't work. at C:\Strawberry\perl\vendor\lib/Term/ReadLine/readline.pm line 410.
这可以通过导出具有适当值的 COLUMNS 和 LINES 变量来解决。 (说):
export COLUMNS=80
export LINES=100
有些脚本会使用 bash、node 或 python 拉取当前窗口设置。
重击:
export LINES=$(tput lines)
export COLUMNS=$(tput cols)