You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Manjaro 24.0下iex/erl低版本OTP无法识别箭头键求助

解决Manjaro 24.0下Erlang/OTP 26.1前版本iex/erl箭头键失效问题

可行解决方向

1. 用rlwrap增强shell功能

rlwrap可以为不支持readline的程序提供命令历史、光标移动等功能,是最快捷的临时解决方案:

  • 安装rlwrap:sudo pacman -S rlwrap
  • 启动iex/erl时加上rlwrap前缀:
    rlwrap iex
    rlwrap erl
    
  • 可以把别名加到shell配置文件(比如~/.bashrc或~/.zshrc)里,避免每次手动输入:
    alias iex='rlwrap iex'
    alias erl='rlwrap erl'
    

2. 重新编译带readline支持的旧版OTP

部分发行版打包的旧版OTP可能默认禁用了readline支持,手动编译时强制启用:

  • 安装编译依赖:sudo pacman -S base-devel readline ncurses
  • 下载对应版本的OTP源码(比如25.0.2),解压后进入目录:
    ./configure --enable-readline --prefix=/usr/local/otp25
    make && sudo make install
    
  • 用export PATH=/usr/local/otp25/bin:$PATH切换到编译版本,测试箭头键是否正常。

3. 远程服务器场景的适配

连接运行旧版OTP的远程服务器时,在本地用rlwrap包裹ssh命令,让本地处理终端输入:

rlwrap ssh your_user@remote_server

进入远程终端后再启动iex/erl,即可正常使用箭头键。

4. 兼容ncurses版本

Manjaro 24.0默认的ncurses版本较新,旧版OTP可能存在兼容性问题:

  • 安装ncurses5兼容库:sudo pacman -S ncurses5-compat-libs
  • 启动前设置环境变量指定旧版ncurses:
    export LD_LIBRARY_PATH=/usr/lib/libncurses.so.5:$LD_LIBRARY_PATH
    iex
    

内容的提问来源于stack exchange,提问作者Arthur

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 10:52:40