在WSL中使用Rails执行bundle时无法找到nested-scaffold gem的问题
解决WSL下Rails安装nested-scaffold gem失败的问题
问题原因
错误提示找不到nested-scaffold x86_64-linux是因为gem平台匹配逻辑异常,手动添加带平台后缀的gem名反而会导致bundle无法识别正确的gem包。
解决方案
修正Gemfile写法
删掉所有错误的nested-scaffold相关写法,只保留正确的声明:gem 'devise' gem 'nested-scaffold'检查并修复gem源
在WSL终端执行命令确认当前gem源:gem sources如果使用的不是官方rubygems源,替换为官方源:
gem sources --add https://rubygems.org/ gem sources --remove 旧源地址指定gem平台(可选)
若仍报错,在Gemfile中明确指定平台范围:gem 'nested-scaffold', platforms: [:ruby, :x86_64_linux]或者用平台块包裹声明:
platform :x86_64_linux do gem 'nested-scaffold' end清除缓存后重新安装
执行以下命令清除bundle缓存,再重新执行安装:bundle clean --force bundle install确认版本兼容性
若以上步骤无效,检查Ruby和Rails版本是否与nested-scaffold兼容,可指定具体版本尝试:gem 'nested-scaffold', '~> 1.0' # 版本号根据实际兼容情况调整
内容的提问来源于stack exchange,提问作者Vibhor Sharma
相关产品推荐
相关产品推荐

