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

来源:互联网 发布:网络借贷利息是多少 编辑:程序博客网 时间:2024/04/24 05:38

近日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项目,一切都很美好了 ;)

0 0