问题标签 [load-path]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
7 回答
93968 浏览

ruby - 将目录添加到 $LOAD_PATH (Ruby)

我已经看到了两种常用的技术,用于将当前正在执行的文件的目录添加到 $LOAD_PATH(或 $:)。如果您不使用 gem,我会看到这样做的好处。显然,一个似乎比另一个更冗长,但是有理由选择一个而不是另一个吗?

第一种,冗长的方法(可能是矫枉过正):

和更直接,快速和肮脏的:

有什么理由选择一个而不是另一个?

0 投票
2 回答
1242 浏览

ruby-on-rails - 从 IDE 运行 rake 任务时出错

我在 Ruby On Rails 应用程序中运行 IntelliJ Idea 的“测试”Rake 任务时遇到问题:

运行测试时出错:在带有解释器的 Ruby SDK 的 $LOAD_PATH 中找不到文件“test/unit/autorunner.rb”:“{1}”

但是该文件位于 %RUBY_HOME%/lib/ruby/1.8/test/unit 并且在运行其他 rake 任务时我没有问题。

运行 MS Windows XP

请指教。

0 投票
5 回答
35543 浏览

ruby-on-rails - Ruby 中的“$”字符是什么意思?

一直在使用 Ruby on Rails 并决定查看实际源代码。从 GitHub 上获取 repo 并开始四处寻找。遇到一些我不确定它做什么或它引用什么的代码。

我在 actionmailer/test/abstract_unit.rb 中看到了这段代码

有人能告诉我 $: (又名“金光闪闪”)指的是什么吗?

0 投票
1 回答
105 浏览

ruby-on-rails - 为什么我的 Rails 项目在 OSX 上的 $LOAD_PATH 中没有 ruby​​ 标准库?

我需要做一个:

在 rails 项目内部,但它在 OSX 上对我不起作用,因为一旦 rails 启动,ruby 标准库(位于我的 /usr/lib/ruby/1.8 中)不在我的 $LOAD_PATH 中。

如果我只是在rails之外运行irb,它就在那里。

我需要在哪里/需要配置什么?

0 投票
7 回答
42223 浏览

ruby - 为什么 Ruby 1.9.2 删除“。” 来自 LOAD_PATH,还有什么替代方法?

Ruby 1.9.2 的最新变更集不再使当前目录.成为LOAD_PATH. 我有一个不平凡的 Rakefiles 假设它.是 的一部分LOAD_PATH,所以这破坏了它们(他们报告“没有这样的文件要加载”对于基于项目路径的所有 require 语句)。这样做有什么特别的理由吗?

至于修复,添加$: << "."无处不在的作品,但似乎令人难以置信的hacky,我不想这样做。使我的 Rakefiles 1.9.2+ 兼容的首选方法是什么?

0 投票
1 回答
3077 浏览

ruby - $LOAD_PATH 和 $: 有何不同?

我需要知道我的 Ruby 加载路径中有什么,所以我这样做了:

它没有打印出任何东西,这是我想到的。所以我尝试了这个:

为什么第二个给我预期的输出而第一个没有?他们不应该是一样的吗?我刚刚试了一下irb,得到了我预期的结果。

这是我的 Ruby 版本,以防万一:

0 投票
1 回答
2367 浏览

ruby-on-rails - Rails:目录和所有子目录的 load_paths

在 environment.rb 我可以添加该行

其中 'foos' 是一个文件夹。这将加载 foos 文件夹中的所有文件。但是,它不会加载任何子目录。

如果我知道 'foos' 文件夹中所有子目录的名称,这个问题将有一个简单的解决方案:

但是,我并不总是知道“foos”中所有文件夹的名称。有没有办法做到这一点:

谢谢

0 投票
1 回答
297 浏览

ruby - 为什么当我使用 sudo 运行 ruby​​ 的 '$:' 或 '$LOAD_PATH' 时会发生变化?

我正在尝试以 root 身份运行 ruby​​ 脚本。当我尝试require宝石时,红宝石说找不到。这是因为$:

为什么会这样?

0 投票
1 回答
146 浏览

ruby - 更新 ruby​​gems 后如何保留已安装的 gem?

最近重新安装了 Ubuntu 后,我重新安装了 RubyGems。Ubuntu 存储库获取了 1.3.5 版本。后来我发现我需要最新版本。所以我安装了 RubyGems 更新到 1.3.7 版。

问题是,升级后gem list只返回我最初安装的所有 gem 的一小部分。过去,我通过在升级后重新安装所有 gem 来解决这个问题,但这很麻烦,我希望现在和将来避免这种解决方法。

我尝试将一个添加export GEM_HOME到我的.bashrc文件中。它没有用。 gem list仍然没有列出我所有的 gem(即使我可以在我的计算机上找到它们/var/lib/gems/1.8/gems。我还创建了一个.gemrcyaml 文件并设置了gemhome路径。当我运行时,gem env我可以看到主路径已设置,但仍然gem list没有返回一切。

这是怎么回事?

0 投票
1 回答
4028 浏览

ruby - 如何将 gem 配置为只使用系统 gem?

我想将 gem 配置为仅使用系统 gem - 从不使用$HOME/.gem. 这是因为我正在编写一个可以访问的脚本,Gem.path并且我不希望它返回我主目录中 gems 的路径。

我很确定我没有在我的等中明确设置GEM_HOME或类似的东西。.bashrc.bash_login

Gem.path首先返回我的 homedir 宝石:

我能阻止这种情况发生吗?它在哪里配置?还是只是默认先查看homedir?

如果我不能配置这个,我可以用正则表达式黑客返回 gems 的系统路径吗?

更多细节:

更新:

所以显然这可以配置为~/.gemrc

但是,如果您启动,这似乎不会生效irb。这与配置文件是 YAML 的事实有关,并且在启动yaml时显然没有加载irb(不确定这个!):

因此,下面的答案似乎是获得正确行为的唯一一致方法,即使您认为这~/.gemrc会起作用并且是包装配置的更好方法。

但是,:gempath:在我~/.gemrc的脚本上下文中设置我Rakefile在 Rails 应用程序中的脚本,大概是因为 yaml 是显式加载的。

不确定 yaml 到底发生了什么,但这种解释似乎与我在这里看到的一致。

改装!:P