【问题标题】:Load Gems from a local Directory using JRuby Scripting Container使用 JRuby 脚本容器从本地目录加载 Gem
【发布时间】:2014-12-11 09:55:33
【问题描述】:

我正在尝试加载 gems 以从本地目录执行 ruby​​ 代码。我不希望 ScriptingContainer(JRuby) 对象使用系统的默认 gemset。

使用

清空环境变量
container.setEnvironment(env);

一个空的地图来改变 GEM_HOME 和 GEM_PATH 但它仍然在使用系统的 gemset。

如何避免这种情况?

【问题讨论】:

    标签: environment-variables jruby gemset


    【解决方案1】:

    我们在构建 Puck 时遇到了类似的问题,Puck 是一种将 JRuby 应用程序捆绑为自包含 Jar 文件的工具。要获得一个不受 RubyGems 和 Bundler 设置的所有东西污染的干净环境,您确实需要付出一些努力。这是解决问题的 Puck 的拉取请求:https://github.com/iconara/puck/pull/7,重要的部分在 DependencyResolver 类中,它涉及启动一个单独的 ScriptingContainer 并跳过一些障碍。

    我希望您不需要所有这些来解决您的问题,但是根据您想要做什么,重置环境非常困难。

    【讨论】:

      【解决方案2】:

      尝试将 GEM_HOME / GEM_PATH 设置为您的本地目录路径

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-05-18
        • 1970-01-01
        • 2015-02-26
        • 1970-01-01
        • 2020-12-10
        • 1970-01-01
        • 2014-01-05
        • 1970-01-01
        相关资源
        最近更新 更多