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

为何`gem install`安装atk成功但`bundle install`失败?

解决bundle install安装atk gem失败的问题

错误原因分析

从报错日志能明确看到,构建atk原生扩展时触发了rake依赖缺失的错误:

can't find gem rake (>= 0.a) with executable rake (Gem::GemNotFoundException)

直接用gem install能成功,是因为全局Ruby环境已经安装了rake;但bundle install会启用隔离的gem环境,若你的Gemfile里没声明rake依赖,构建atk时就无法调用rake工具,最终导致安装失败。

解决方案

方案1:把rake添加到Gemfile

  1. 在项目的Gemfile中新增一行:
    gem 'rake'
    
  2. 清理之前的安装残留:
    rm -rf vendor/bundle
    rm Gemfile.lock
    
  3. 重新执行安装:
    bundle install
    

方案2:临时让bundle调用全局rake

如果不想修改Gemfile,可以尝试让bundle在构建阶段使用全局安装的rake:

bundle install --with-development

或者先确认bundle能识别全局rake,再执行安装:

bundle exec rake -T
bundle install

方案3:预安装atk到项目bundle目录

既然直接gem install atk -v 3.5.1能成功,可以把已安装的atk复制到项目的bundle路径里:

  1. 先查找atk的全局安装路径:
    gem which atk
    
  2. 将对应的atk目录复制到项目的vendor/bundle/ruby/2.7.0/gems/路径下
  3. 再执行bundle install,此时bundle会跳过atk的安装流程

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 15:35:51