【发布时间】:2019-12-26 14:49:22
【问题描述】:
我目前正在尝试在特定目录上安装一组 gem 文件并运行该安装(试图避免安装到默认的 Ruby 位置)。
例如我有一个包含我计划在本地安装的 gem 的文件夹,因此我运行以下命令:
gem install --force --install-dir .\install_3 --conservative --bindir .\install_3\bin --no-document --local *.gem
这会在我的 install_3 目录中安装该文件夹中的所有可用 gem。 但是,我无法运行安装在该目录中的 gem。
我的问题是,如何在特定文件夹中安装 Ruby gem 并确保从 --install-dir 选项中指定的文件夹运行 gem 及其依赖项?
当我尝试使用以下脚本运行时:
@setlocal
@set DIRNAME=%~dp0
cd %DIRNAME%
@set PATH=%PATH%;%DIRNAME%install_3\bin
@set TEMP=C:\TEMP
fluentd -c fluentd.conf
我收到以下错误:
Traceback (most recent call last):
2: from C:/Users/yytcadm/Desktop/fluentd_1.8.0_gems/install_3/bin/fluentd:23:in `<main>'
1: from C:/Ruby25-x64/lib/ruby/2.5.0/rubygems.rb:303:in `activate_bin_path'
C:/Ruby25-x64/lib/ruby/2.5.0/rubygems.rb:284:in `find_spec_for_exe': can't find gem fluentd (>= 0.a) with executable fluentd (Gem::GemNotFoundException)
它不会从我指定的安装文件夹中获取 gem,而是尝试在默认的 ruby gem 文件夹中搜索它们。
编辑:我的 fluentd 文件似乎在这一行上抛出错误:
load Gem.activate_bin_path('fluentd', 'fluentd', version)
我猜我需要将其修改为我的 --install-dir 选项决定的自定义路径,但到目前为止我的尝试还没有取得成果。
【问题讨论】:
标签: ruby-on-rails ruby rubygems fluentd