是否有可能为Ruby提供一个“本地” gem存储库?
我正在开发没有管理员权限的自定义Linux发行版。Ruby已安装在计算机(v.1.8.7)上,但显然未安装'gem'或'bundle'或任何其他工具。我需要使用一些像Nokogiri这样的Ruby宝石。
是否可以不通过安装就使用Ruby gem gem install
?
是。任何宝石都可以独立使用。您只需要从github下载源代码,或下载gem并手动提取其内容即可。
完成之后,您必须将lib
gem的文件夹添加到$:
Ruby的加载路径()中。例如:
$:.unshift(File.expand_path("nokogiri-1.6.1/lib"))
require 'nokogiri'
假设您在当前目录中运行Ruby,并且Nokogiri源位于该文件夹中nokogiri-1.6.1
。
但是请记住,首先必须对所有Nokogiri必备条件进行相同的操作。即Nokogiri所依赖的所有库。
我会做的另一种选择是在主目录中安装RubyGems。虽然这可能会有些棘手,但是可以通过下载RubyGems包并运行类似的命令来实现:
ruby setup.rb --prefix=/home/my_user_name/rubygems
然后,您需要设置ENV变量,GEM_HOME
并GEM_PATH
指向主目录中要安装所有gem的位置。请参阅“ GEM_HOME和GEM_PATH之间有什么区别? ”以获取它们的描述。
您还需要向其中添加类似内容/home/my_user_name/rubygems/bin
,PATH
以便gem
外壳程序可以找到该命令。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句