缺少“cpan>”在Cygwin下的Strawberry Perl环境中运行CPAN shell时提示

时间:2011-04-20 22:48:07

标签: perl cygwin cpan strawberry-perl

在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.

2 个答案:

答案 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)