Bundler无法使用gem?安装react-rails遇babel-source依赖查找错误
我之前在配置react-rails的时候也碰到过一模一样的问题,这个错误本质是老版本的react-rails对babel-source的版本锁得太死,而对应的rubygems源里这个旧版本可能已经被移除,或者你的bundle缓存里存了错误的源信息导致的。试试下面这些分步解决方法:
清理bundle缓存:缓存里的旧依赖信息经常会搞出这种乌龙,先强制清理掉:
bundle clean --force更新react-rails版本:如果你在Gemfile里没指定react-rails的版本,默认拉取的可能是比较老的版本,它依赖的babel-source-5.8.35已经不在官方源里了。建议修改Gemfile,指定一个兼容且依赖更稳定的版本,比如:
gem 'react-rails', '~> 2.6.1'这个版本的react-rails依赖的babel-source版本不会太旧,能正常从rubygems拉取。
更新依赖并重新安装:修改完Gemfile后,执行更新命令让bundle重新解析依赖:
bundle update react-rails bundle install检查bundle源配置:如果上面的方法都不行,确认你的bundle源里包含rubygems.org,可以用
bundle env查看源列表,要是没添加的话,执行:bundle config set --local source 'https://rubygems.org'之后再重新执行
bundle install。
附上你提供的终端输出:
➜ calendaract git:(master) bundle install
Using rake 12.3.1
Using concurrent-ruby 1.0.5
Using i18n 0.9.5
Using minitest 5.11.3
Using thread_safe 0.3.6...
内容的提问来源于stack exchange,提问作者Gid

