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

Ubuntu 20.04环境下运行Shopify-CLI(Ruby Gem)出现uninitialized constant Encoding::UTF_8 (NameError)错误求助

解决Shopify CLI报错uninitialized constant Encoding::UTF_8的问题

我之前在Ubuntu 20.04上用Snap安装Ruby后,也碰到过这个一模一样的编码常量未初始化的问题!Snap的Ruby包因为做了系统隔离,会导致Ruby的核心编码模块无法正常加载,进而影响依赖它的Shopify CLI运行。下面是我亲测有效的解决步骤:

方案一:替换Ruby安装方式(推荐,彻底解决)

Snap安装的Ruby环境限制太多,换成rbenv或者rvm这类Ruby版本管理器能避免大部分环境问题:

  1. 卸载Snap版Ruby

    sudo snap remove ruby
    
  2. 安装rbenv及依赖
    先安装编译Ruby需要的系统依赖:

    sudo apt update && sudo apt install git curl libssl-dev libreadline-dev zlib1g-dev autoconf bison build-essential libyaml-dev libncurses5-dev libffi-dev libgdbm-dev
    

    然后安装rbenv:

    curl -fsSL https://github.com/rbenv/rbenv-installer/raw/HEAD/bin/rbenv-installer | bash
    
  3. 配置rbenv到Shell环境
    把rbenv加入你的bash配置(如果用zsh就修改~/.zshrc):

    echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
    echo 'eval "$(rbenv init -)"' >> ~/.bashrc
    source ~/.bashrc
    
  4. 安装并设置Ruby 3.0.2

    rbenv install 3.0.2
    rbenv global 3.0.2
    

    验证Ruby版本和编码模块是否正常:

    ruby -v  # 应该输出ruby 3.0.2p107
    ruby -e "puts Encoding::UTF_8"  # 正常输出UTF-8就说明编码模块没问题了
    
  5. 重新安装Shopify CLI

    gem install shopify-cli
    

    现在再运行shopify version,应该就能正常工作了。

方案二:临时修复(仅应急用)

如果暂时不想换Ruby安装方式,可以尝试临时设置Ruby的编码环境变量:

export RUBYOPT="-E UTF-8"
shopify version

不过这个方法只是临时生效,重启终端后需要重新设置,还是推荐方案一彻底解决。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.30 03:07:30