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

使用Rails 6.1.5.11与Ruby 2.7.6执行bundle install时频繁出现GemWrappers错误的解决咨询

解决GemWrappers安装时的"Can not wrap not executable file: rake"警告

这问题我之前维护老Rails项目时碰到过,虽然不影响bundle install的最终执行,但反复弹出的警告确实挺闹心的。本质是gem-wrappers这个工具在尝试给非可执行文件创建包装器时的误判,给你几个靠谱的解决办法:

方法1:更新gem-wrappers到兼容版本

旧版本的gem-wrappers可能对某些gem(比如rake)的文件识别有bug,更新到最新兼容版本通常能解决问题:

gem update gem-wrappers

更新完成后重新执行bundle install,看看警告是否消失。

方法2:临时/永久禁用GemWrappers的自动包装

如果更新后还是有问题,可以直接禁用它的包装逻辑:

  • 临时禁用:执行bundle install时加上环境变量
    DISABLE_GEM_WRAPPERS=true bundle install
    
  • 永久禁用:把环境变量添加到你的shell配置文件(比如~/.bashrc、~/.zshrc或~/.bash_profile):
    echo 'export DISABLE_GEM_WRAPPERS=true' >> ~/.zshrc
    
    然后刷新配置:
    source ~/.zshrc
    
    之后再执行bundle install就不会出现这个警告了。

方法3:移除不必要的gem-wrappers依赖

先确认gem-wrappers是直接在你的Gemfile里引入的,还是被其他gem间接依赖的:

bundle show gem-wrappers

如果是你自己手动添加的,且项目并不需要它(比如没用到依赖它的版本管理工具),可以直接从Gemfile中移除,然后执行bundle install清理依赖。

方法4:修复rake文件的可执行权限(不推荐作为首选)

如果以上方法都不行,可能是rake的可执行文件权限出了问题。先找到rake的安装路径:

bundle show rake

进入该目录的bin子目录,给rake赋予可执行权限:

chmod +x $(bundle show rake)/bin/rake

不过这个方法只是临时修复,后续更新rake可能还会重复出现问题,所以优先推荐前面的方法。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.27 19:33:11