即使gem安装有效,Bundler也找不到宝石

时间:2017-10-20 23:48:42

标签: ruby rubygems bundler jruby

对于这个Gemfile:

($_SERVER ["DOCUMENT_ROOT"] . "/include/header.php"); 

Bundler无法找到gem,即使是it is clearly available

<HTML>
<HEAD>

<link rel="stylesheet" type="text/css" href="css/name.css">

<script src="js/jquery.js"></script>

如果我让gem自己完成这项工作,那么可以很好地找到它:

source 'https://rubygems.org'

ruby '2.3.1' # equivalent version to what jruby supports

gem 'jrubyfx'

所以现在我甚至把它放在我的系统上,但即使它在本地也存在,Bundler仍然找不到它。

环境:

$ bundle install
Fetching gem metadata from https://api.rubygems.org/..........
Could not find gem 'jrubyfx' in any of the gem sources listed in your Gemfile.

我已经验证了gem和bundler肯定都在运行JRuby - 它们都需要永远启动,而且我现在只安装了一个JRuby(最新的一个是来自Homebrew的ruby-build)。

到目前为止尝试过:

  • 将来源从$ gem install jrubyfx Successfully installed jrubyfx-1.2.0-java 1 gem installed 更改为$ bundle --version Bundler version 1.16.0.pre.3 $ gem --version 2.6.8 $ rbenv version jruby-9.1.8.0 (set by /Users/trejkaz/Documents/prototype/.ruby-version) $ ruby --version jruby 9.1.8.0 (2.3.1) 2017-03-06 90fc7ab Java HotSpot(TM) 64-Bit Server VM 25.151-b12 on 1.8.0_151-b12 +jit [darwin-x86_64] $ jenv version 1.8 (set by /Users/trejkaz/Documents/prototype/.java-version) $ java -version java version "1.8.0_151" Java(TM) SE Runtime Environment (build 1.8.0_151-b12) Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)
  • 更改网址以包含潜在客户https
  • 按照this question
  • 的回答中的建议,将http添加到api.命令行
  • this question看起来也很相似,但只是一个缺少的逗号

1 个答案:

答案 0 :(得分:2)

我使用同一个宝石查看了一些github projectsGemfile

尝试在ruby版本之后添加engineengine_version,如下所示:

# Gemfile

ruby '2.3.1', engine: 'jruby', engine_version: '9.1.8.0'
source 'https://rubygems.org'

gem 'jrubyfx', '~> 1.2'

根据bundler documentation

  

:engine:engine_version都是可选的。当这些选项是   省略,这意味着该应用程序与特定的Ruby ABI兼容   但引擎无关紧要。何时:使用引擎,:engine_version   还必须指定。使用带有--ruby的platform命令   flag,你可以看到在Gemfile中指定了什么ruby指令。