将Ruby USB代码移植到最新版本的Linux?

将Ruby USB代码移植到最新版本的Linux?,usb,libraries,ruby,gem,Usb,Libraries,Ruby,Gem,我有一些在Linux上使用的Ruby代码。看起来是这样的: require 'usb' dev = nil # will be a USB::Device USB.devices.each { |x| if x.idProduct==1 && x.idVendor==0x08f7 then dev=x end ... 我过去可以通过在Mint或Ubuntu上安装以下库来实现这一点: libusb-1.0-0 libusb-ruby 在mint和Ubuntu的最新

我有一些在Linux上使用的Ruby代码。看起来是这样的:

require 'usb'
dev = nil # will be a USB::Device
USB.devices.each { |x|
  if x.idProduct==1 && x.idVendor==0x08f7 then dev=x end   
  ...
我过去可以通过在Mint或Ubuntu上安装以下库来实现这一点:

libusb-1.0-0 libusb-ruby
在mint和Ubuntu的最新版本中,不再存在libusb ruby。一些包的命名约定似乎发生了变化,从libjson-ruby到ruby-json。然而,似乎没有ruby usb库

谷歌搜索ruby和USB等搜索词会发现很多令人困惑的东西。那里似乎有很多库,我很难弄清楚是否有任何特定的库仍然作为Ubuntu包存在,并且具有相同的API:


有人能建议我需要做什么才能让它再次工作吗?如果没有Ubuntu软件包,我是否需要将其安装为Ruby Gem?

发行版中曾经打包为libusb Ruby或类似版本的Gem是最有可能的

至少我用那块宝石时你的代码运行得很好

我建议您在项目中添加一个Gemfile,并使用RubyGems来管理这些gem,因为当找不到包的维护者时,一些不太流行的gem通常会退出发行版

下面的Gemfile实现了这一点:

source 'http://rubygems.org'
gem 'ruby-usb'

缺点是,你需要在那台机器上安装一个编译器,还需要Debian上的libusb开发包,即libusb-dev。

我确认这就是gem ruby-usb。谢谢,这很有效。下面是我必须做的:sudoapt-get-install-libusb-dev-ruby1.9.1-dev-sudogem-sources-ahttp://rubygems.org sudogem安装ruby-usb我不需要修改ruby源代码。