Mac下rails new提示Bundler::Plugin::API::Source错误的解决

近日Mac老是频发奇怪问题,在新建项目到bundle install一步时会报如下错误:

/Users/apple/.rvm/gems/ruby-2.2.5/gems/bundler-1.14.5/lib/bundler/rubygems_ext.rb:45:in `full_gem_path': uninitialized constant Bundler::Plugin::API::Source (NameError)

不过正常的bundle install命令却没有问题.

发现只要将bundler版本退回至12.1版本一切都很正常,但是在用bundle install会提示bundle版本太低.有强迫症的本猫自然不能忍受这等问题:(

网上的变通方法(workaround)是修改lib/bundler/plugin/api.rb中的autoload为require命令,但这是在linux中的路径,在Mac没有上述路径。

在Mac中对应的bundler放在如下路径:

/Users/apple/.rvm/gems/ruby-2.2.5/gems/bundler-1.14.5

如果你的ruby或bundler版本是其他的,请自行修正。打开上述路径后进入其相对路径:

lib/bundler/plugin

打开api.rb文件,找到autoload一行,将开头换为require:

autoload :Source, "bundler/plugin/api/source"
#换为
require "bundler/plugin/api/source"

然后再次新建rails项目,一切都很美好了 ;)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大熊猫侯佩

赏点钱让我买杯可乐好吗 ;)

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值