[英]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_HOME
和GEM_PATH
指向您要安装所有gem的主目录中的位置。 请参阅“ GEM_HOME和GEM_PATH有什么区别? ”以获取它们的作用说明。
您还需要在PATH
添加/home/my_user_name/rubygems/bin
,以便shell可以找到gem
命令。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.