Bundler不能使用gem?

时间:2018-03-24 01:52:11

标签: ruby-on-rails ruby dependencies ruby-on-rails-5.1 react-rails

这是我目前在我的终端。成功设置rails应用程序并确保其有效后。我在我的gem文件中设置了gem react-rails。然后提交了所有内容,然后从那里运行了bundle install。然后我收到一个错误,指出它无法在任何来源中找到babel-source-5.8.35。但显然它在我的捆绑ENV

➜  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
Using tzinfo 1.2.5
Using builder 3.2.3
Using erubi 1.7.1
Using mini_portile2 2.3.0
Using nokogiri 1.8.2
Using rails-dom-testing 2.0.3
Using crass 1.0.3
Using loofah 2.2.2
Using rails-html-sanitizer 1.0.4
Using actionview 5.1.5
Using rack 2.0.4
Using rack-test 0.8.3
Using actionpack 5.1.5
Using nio4r 2.3.0
Using websocket-extensions 0.1.3
Using websocket-driver 0.6.5
Using actioncable 5.1.5
Using globalid 0.4.1
Using activejob 5.1.5
Using mini_mime 1.0.0
Using mail 2.7.0
Using actionmailer 5.1.5
Using activemodel 5.1.5
Using arel 8.0.0
Using activerecord 5.1.5
Using public_suffix 3.0.2
Using addressable 2.5.2
***Using babel-source 5.8.35***
Using execjs 2.7.0
Using babel-transpiler 0.7.0
Using bindex 0.5.0
Using bundler 1.16.1
Using byebug 10.0.1
Using xpath 3.0.0
Using capybara 2.18.0
Using ffi 1.9.23
Using childprocess 0.9.0
Using coffee-script-source 1.12.2
Using coffee-script 2.4.1
Using method_source 0.9.0
Using thor 0.20.0
Using railties 5.1.5
Using coffee-rails 4.2.2
Using connection_pool 2.2.1
Using multi_json 1.13.1
Using jbuilder 2.7.0
Using rb-fsevent 0.10.3 
Using rb-inotify 0.9.10
Using ruby_dep 1.5.0
Using listen 3.1.5
Using pg 1.0.0
Using puma 3.11.3
Using sprockets 3.7.1
Using sprockets-rails 3.2.1
Using rails 5.1.5
Using tilt 2.0.8
Using react-rails 2.4.4
Using rubyzip 1.2.1
Using sass-listen 4.0.0
Using sass 3.5.6
Using sass-rails 5.0.7
Using selenium-webdriver 3.11.0
Using spring 2.0.2
Using spring-watcher-listen 2.0.1
Using turbolinks-source 5.1.0
Using turbolinks 5.1.0
Using uglifier 4.1.8
Using web-console 3.5.1
Bundle complete! 17 Gemfile dependencies, 74 gems now installed.
Use `bundle info [gemname]` to see where a bundled gem is installed.

➜  calendaract git:(master) rails g react:install
Could not find babel-source-5.8.35 in any of the sources
Run `bundle install` to install missing gems.

所以我运行bundle install,并且清楚地看到我的gem在本地可用,我的所有路径和垫片都设置正确。但是当我运行生成脚本时,我找不到babel-source 5.8.35,并且会喜欢一些有关如何运行的帮助?

rails generate react:install

1 个答案:

答案 0 :(得分:0)

当您尝试对react-rails进行捆绑安装依赖时,似乎缺少,因此您需要将babel-source添加到 Gemfile 文件列表或手动安装。

在开始检查您的宝石列表中是否存在该宝石之前:

gem list|grep babel-source # grep for ubuntu users you can use other alternative for other OS

并检查它是否显示gem并且它是否正在返回正确的版本,否则再次重试bundle install,如下所示:

首先,我建议您按照react github doc进行操作,确保您没有错过任何内容。如果您仍然遇到问题,请尝试添加依赖关系gem ,如下所示:

在您的Gemfile中,您可以在react-rails之上添加它,以便在尝试安装时满足依赖性。只需确保删除Gemfile.lock以便它是全新安装。

gem 'babel-source', '~> 5.8.35'

然后

bundle install

检查您的日志是否再次确认您是否面临该错误如果您再次面对尝试,可以在终端中运行:

gem install babel-source -v 5.8.35

然后

bundle install

如果成功运行 React generate命令。

所有上述命令都是调试过程,因为我无法在评论选项中添加太多细节我在这里发布,所以请让我知道它的结果