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

M3 Mac上Gemfile.lock自动新增行问题求助

解决Gemfile.lock自动新增arm64-darwin-23平台行的问题

问题原因

Bundler 2.4.22会自动检测当前运行的系统平台,只要执行任何和bundler相关的操作(哪怕是bundle check、bundle install这类常规命令),都会把当前系统对应的平台写入Gemfile.lock。如果你的机器是macOS Ventura(对应darwin-23),每次触发bundler操作就会自动添加这一行。

解决办法

1. 在Gemfile中指定固定平台

直接在Gemfile里声明允许的平台,Bundler就不会自动新增其他平台:

# 在Gemfile顶部添加
platforms [:arm64-darwin-22, :x86_64-darwin-22, :x86_64-linux]

# 后续的gem依赖按需求编写
gem 'rails', '~> 7.0'
# ...其他gem

保存后执行bundle install,Gemfile.lock里的PLATFORMS就会被固定为你指定的列表,不会再自动新增。

2. 禁用Bundler自动检测平台的功能

执行以下命令关闭自动平台检测:

bundle config set auto_platform false

这个配置会保存在本地的.bundle/config里,之后Bundler就不会再自动向Gemfile.lock添加新的平台行了。

3. 排查后台触发Bundler的进程

虽然你已经关闭了Spring和Rails服务器,但一些IDE(比如RubyMine、VS Code的Ruby插件)可能会在后台自动运行bundler命令做依赖检查。可以暂时关闭IDE的自动依赖同步功能,或者退出IDE后手动撤销变更,观察是否还会自动新增该行,以此确认是否是IDE导致的。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 20:09:59