Ruby Logstash插件开发
我正在尝试为logstash开发一个输入插件 我用过这个教程 当我尝试使用“bundle install”安装“bundle”时遇到的问题 -这是错误消息 您的Ruby引擎是Ruby,但您的Gemfile指定了jruby -档案: 源“” ruby'2.2.0',:engine=>'jruby',:engine\u version=>'2.3.1' gemspec -ruby-v: ruby 2.2.0p0(2014-12-25修订版49005)[x86_64-darwin16] -jruby-v: jruby 9.1.8.0(2.3.1)2017-03-06 90fc7ab Java HotSpot(TM)64位服务器VM 25.92-b14,基于1.8.0_92-b14+jit[darwin-x86_64]Ruby Logstash插件开发,ruby,logstash,jruby,Ruby,Logstash,Jruby,我正在尝试为logstash开发一个输入插件 我用过这个教程 当我尝试使用“bundle install”安装“bundle”时遇到的问题 -这是错误消息 您的Ruby引擎是Ruby,但您的Gemfile指定了jruby -档案: 源“” ruby'2.2.0',:engine=>'jruby',:engine\u version=>'2.3.1' gemspec -ruby-v: ruby 2.2.0p0(2014-12-25修订版49005)[x86_64-darwin16] -jruby
我在这里做错了什么?因为您使用的是
rbenv
,下面是一些很好的故障排除步骤:
- 确保您的
包含路径
或类似变体/PATH/to/your/home/directory/.rbenv/shimmes
- 在shell的
文件中还需要.bash | zsh | whateverrc
eval“$(rbenv init-”
- 如果一切正常,请检查
文件。更改到您正在处理的项目的目录,并调用.ruby版本
。cat.ruby版本
- 如果没有,就用这个名称创建一个新文件,并在其中放置一个合适的JRuby版本字符串。检查可用版本的一个好方法是
,但最新版本(来自我的本地rbenv install--list
)是ruby build
jruby-9.1.7.0
- 如果没有,就用这个名称创建一个新文件,并在其中放置一个合适的JRuby版本字符串。检查可用版本的一个好方法是
- 现在调用
。如果您不想创建文件/想跳过此步骤,只需运行rbenv安装
rbenv安装jruby-9.1.7.0
现在应该可以工作了李>rbenv再灰化;bundle
路径正确。
如果您正在使用bash,则~/.bashrc
或~/.bash\u配置文件
应具有以下命令:
export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"
rbenv install jruby-9.1.7.0
gem install bundler # to install the bundler gem in the context of your new JRuby 9.1.7.0
bundle install # to install the gems listed in your Gemfile
如果您使用的是zsh,这些命令必须驻留在~/.zshrc
中
之后,输入项目目录并创建一个新文件.ruby version
:
echo 'jruby-9.1.7.0' > .ruby-version
注意:您可以使用命令rbenv install--list
查看其他可用版本
最后,离开目录,再次输入,然后运行以下命令:
export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"
rbenv install jruby-9.1.7.0
gem install bundler # to install the bundler gem in the context of your new JRuby 9.1.7.0
bundle install # to install the gems listed in your Gemfile
您在项目中使用的是rvm
还是rbenv
?我使用的是rbenv,您是否正确地创建了.ruby版本
和.ruby gemset
文件?看起来您的捆绑程序正在尝试使用系统的默认Ruby(而不是JRuby)。我如何验证这一点?@DavidS。是的,我知道。但是这些文件背后的概念是相同的:)是的,这就是问题所在,捆绑程序使用的是系统默认的Ruby版本。我已经卸载了所有以前的安装&这次我从Source构建了Ruby&Jruby,所以现在我不能使用export PATH=“$HOME/.rbenv/bin:$PATH“eval”$(rbenv init-)为什么?发生了什么事?