对于这个Gemfile:
source 'https://rubygems.org'
ruby '2.3.1' # equivalent version to what jruby supports
gem 'jrubyfx'邦德勒找不到宝石,即使是它显然是可用的。
$ 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自己来做这项工作,它会发现它很好:
$ 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)我已经证实,gem和bundler肯定都在用JRuby运行--它们都需要很长时间才能启动,而且我目前只安装了一个JRuby (最新的一个是从Homebrew开发的红宝石版本)。
迄今已尝试过:
发布于 2017-10-24 10:59:30
我看了一下使用相同gem的一些Gemfile的github项目。
尝试在红宝石版本之后添加engine和engine_version,如下所示:
# Gemfile
ruby '2.3.1', engine: 'jruby', engine_version: '9.1.8.0'
source 'https://rubygems.org'
gem 'jrubyfx', '~> 1.2'根据邦德勒文件
:engine和:engine_version都是可选的。当忽略这些选项时,这意味着应用程序与特定的Ruby兼容,但引擎无关。使用:engine时,还必须指定:engine_version。使用带有--ruby标志的platform命令,您可以看到Gemfile中指定了什么ruby指令。
https://stackoverflow.com/questions/46858713
复制相似问题