gpt4 book ai didi

ruby - 在不安装的情况下使用 gem

转载 作者:数据小太阳 更新时间:2023-10-29 06:59:00 24 4
gpt4 key购买 nike

我需要运行我在我没有 sudo 访问权限的服务器上编写的一堆 ruby​​ 脚本。
在我自己的机器上,我使用“sudo gem install ..”安装了一堆 gem 并在我的代码中使用它们..
是否有任何机制可以让我在不将它们正式安装到远程机器上的情况下使用这些 gem?

最佳答案

你可以,但这很棘手。

首先,使用 --install-dir 选项安装它们,即:

gem install gem_name --install-dir /some/directory/you/can/write/to

其次,确保您的主目录中有一个如下所示的 .gemrc 文件:

gemhome: /some/directory/you/can/write/to
gempath:
- /some/directory/you/can/write/to
- /usr/local/lib/ruby/gems/1.8

gemhome 是寻找 gem 时应该首先查看 gem 的地方。 gempath 是它在寻找 gem 时应该检查的所有路径。所以在上面的 .gemrc 中,我告诉我的代码首先在本地目录中查找,如果找不到,请检查系统 gem 目录。

第三,请注意某些代码(甚至是 gems 中的代码)可以对 gems 的位置做出假设。某些代码可能会以编程方式更改 gempathgemhome。您可能需要在自己的代码中“改回”。

关于如何做到这一点的文档并不多(阅读:没有)- 弄清楚它的最佳方法是阅读 RubyGems 源代码中包含的测试。以下是我如何破解 rake 任务中的 gem 路径以指向我的卡住版本的 capistrano:

  Gem.use_paths(Gem.dir, ["#{RAILS_ROOT}/vendor/gems"])
Gem.refresh # picks up path changes

关于ruby - 在不安装的情况下使用 gem,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/913153/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com