【问题标题】:RUBYLIB Environment PathRUBYLIB 环境路径
【发布时间】:2011-08-25 02:47:43
【问题描述】:

所以目前我在 .bashrc 文件中包含以下内容。

export RUBYLIB=/home/git/project/app/helpers

我正在尝试使用具有

的规范运行 rspec
require 'output_helper'

此文件位于 helpers 目录中。我的问题是,当我将导出行更改为:

export RUBYLIB=/home/git/project/

它不再找到帮助文件。我认为 ruby​​ 应该搜索我提供的整个路径,而不仅仅是提供的最外层目录?这是正确的思考方式吗?如果没有,我怎样才能让 RUBY 搜索所有子目录及其子目录等?

谢谢,

罗宾

【问题讨论】:

    标签: ruby rspec environment-variables ubuntu-10.10


    【解决方案1】:

    正如 buruzaemon 所提到的,Ruby 不搜索子目录,因此您需要在搜索路径中包含所有您想要的目录。但是,您可能想要做的是:

    require 'app/helpers/output_helper'
    

    这样您就不会依赖于以某种方式设置的RUBYLIB 环境变量。当您将代码部署到生产环境或与他人协作时,这些小的依赖项可能会导致烦人的调试会话。

    此外,您可以将. 指定为搜索路径,而不是使用特定于机器的绝对路径。

    【讨论】:

      【解决方案2】:

      类似于PATH,您需要明确命名要在其下查找库的目录。但是,这不会包括任何子目录,因此您还需要列出所有子子目录,并用冒号分隔它们。

      例如:

      export RUBYLIB=/home/git/project:/home/git/project/app/helpers
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-01-23
        • 2017-01-15
        • 2011-01-10
        • 2019-04-27
        • 2016-07-13
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多