繁体   English   中英

本地的宝石库? 安装没有“宝石”的红宝石宝石?

[英]Local gem repository? Install a ruby gem without 'gem'?

像Ruby这样的“本地” gem存储库有可能吗?

我正在开发没有管理员权限的自定义Linux发行版。 Ruby已安装在计算机(v.1.8.7)上,但显然未安装'gem'或'bundle'或任何其他工具。 我需要使用一些像Nokogiri这样的Ruby宝石。

是否可以在不通过gem install进行安装的情况下使用Ruby gem?

是。 任何宝石都可以独立使用。 您只需要从github下载源代码,或者下载gem并手动提取其内容即可。

完成之后,必须将gem的lib文件夹添加到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_HOMEGEM_PATH指向您要安装所有gem的主目录中的位置。 请参阅“ GEM_HOME和GEM_PATH有什么区别? ”以获取它们的作用说明。

您还需要在PATH添加/home/my_user_name/rubygems/bin ,以便shell可以找到gem命令。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM