jjzjj

search_path

全部标签

ruby - require File.expand_path(..., __FILE__) 是最佳实践吗?

requireFile.expand_path(...,__FILE__)是要求项目中其他文件的最佳方式吗? 最佳答案 在Ruby1.9.2中+require_relative可能是更正确的方法。出于安全原因,require已更改为不包含您的'.'目录。添加了require_relative,以便为相对于您的调用脚本路径的模块提供本地文件解决方案。您可以searchhereonStackOverflow,特别是在“Whatisrequire_relativeinRuby?”中,以及互联网和查找使用技巧以及why-formessage

ruby - PATH 中的不安全世界可写目录/用户/用户名,运行 Ruby 命令时模式 040777

当我运行像gem-v这样的Ruby命令时,我得到了这个错误:/Users/kristoffer/.rvm/rubies/ruby-1.9.2-p180/bin/gem:4:warning:Insecureworldwritabledir/Users/kristofferinPATH,mode0407771.6.2首先我不明白这是什么意思。根据echo$PATH,/Users/kristoffer不在我的路径中。echo$PATH的结果是:/Users/kristoffer/.rvm/gems/ruby-1.9.2-p180/bin:/Users/kristoffer/.rvm/gems

ruby - Xcode - 配置 : error: no acceptable C compiler found in $PATH

从头开始重建Mac。安装xcode和rvm然后尝试安装ruby但他们都给我:Errorrunning'./configure--prefix=/Users/durrantm/.rvm/rubies/ruby-1.9.3-p125--enable-shared--disable-install-doc--with-libyaml--with-opt-dir=/Users/durrantm/.rvm/usr',pleaseread/Users/durrantm/.rvm/log/ruby-1.9.3-p125/configure.logTherehasbeenanerrorwhilerun

ruby - GEM_HOME 和 GEM_PATH 有什么区别?

RubyGems是Ruby编程语言的包管理器,它提供了一种用于分发Ruby程序和库的标准格式(以一种称为“gem”的自包含格式),一种旨在轻松管理gem安装的工具,以及用于分发它们的服务器。它类似于Python编程语言的EasyInstall。RubyGems现在是Ruby1.9版标准库的一部分。也就是说,GEM_HOME和GEM_PATH之间有什么区别? 最佳答案 GEM_PATH提供可以找到gem的位置(可能有多个)。GEM_HOME是安装gem的地方(默认)。(因此GEM_PATH应该包括GEM_HOME)。

ruby - "which in ruby": Checking if program exists in $PATH from ruby

我的脚本严重依赖外部程序和脚本。我需要确定我需要调用的程序存在。手动地,我会在命令行中使用“which”来检查这一点。对于$PATH中的东西,是否有等同于File.exists?的东西?(是的,我想我可以解析%x[whichscriptINeedToRun]但这不是super优雅。谢谢!亚尼克更新:这是我保留的解决方案:defcommand?(command)system("which#{command}>/dev/null2>&1")end更新2:出现了一些新的答案-至少其中一些提供了更好的解决方案。更新3:ptoolsgem向File类添加了一个“which”方法。

ruby - File.expand_path ("../../Gemfile", __FILE__) 这是如何工作的?文件在哪里?

ENV["BUNDLE_GEMFILE"]=File.expand_path("../../Gemfile",__FILE__)我只是想从某个目录访问一个.rb文件,教程告诉我使用这段代码,但我不知道它是如何找到gem文件的。 最佳答案 File.expand_path('../../Gemfile',__FILE__)是一个有点丑陋的Ruby习惯用法,用于在您知道相对于当前文件的路径时获取文件的绝对路径。另一种写法是这样的:File.expand_path('../Gemfile',File.dirname(__FILE__))两

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

我见过两种常用的技术,用于将当前正在执行的文件的目录添加到$LOAD_PATH(或$:)。如果您不使用gem,我会看到这样做的好处。显然,一个似乎比另一个更冗长,但有理由优先考虑另一个吗?第一个,冗长的方法(可能有点矫枉过正):$LOAD_PATH.unshift(File.expand_path(File.dirname(__FILE__)))unless$LOAD_PATH.include?(File.expand_path(File.dirname(__FILE__)))还有更直接、快捷的方法:$:.unshiftFile.dirname(__FILE__)有什么理由比另一个更好

ruby - 执行 rvm 时获取 "Warning! PATH is not properly set up"使用 2.0.0 --default

上面的第一次不起作用,第二次起作用。尝试为任何新的shell窗口将ruby​​版本设置为2.0.0。做$rvmuse2.0.0--default给予Warning!PATHisnotproperlysetup,'/home/durrantm/.rvm/gems/ruby-1.9.3-p125/bin'isnotatfirstplace,usuallythisiscausedbyshellinitializationfiles-checkthemfor'PATH=...'entries,itmightalsohelptore-addRVMtoyourdotfiles:'rvmgetsta

ruby - 如何解决 "You need to have Ruby and Sass installed and in your PATH for this task to work"警告?

我正在为工作设置一台新Mac。我已经在全局范围内安装了Grunt&GruntCLI。然后我在项目文件夹中执行了npminstall以安装所有依赖项。到目前为止没有问题,但是当我尝试运行sass:dist任务时,我收到了这个警告:Warning:YouneedtohaveRubyandSassinstalledandinyourPATHforthistasktowork.Moreinfo:https://github.com/gruntjs/grunt-contrib-sassUse--forcetocontinue.据我了解,我需要在更全局的级别上安装Ruby和Sass才能运行此任务。

ruby - 为什么 Ruby 1.9.2 从 LOAD_PATH 中删除 ".",还有什么替代方案?

Ruby1.9.2的最新变更集不再生成当前目录.你的一部分LOAD_PATH.我有很多Rakefile假设.是LOAD_PATH的一部分,所以这打破了他们(他们报告所有基于项目路径的require语句“没有这样的文件要加载”)。这样做有什么特别的理由吗?至于修复,添加$:无处不在,但似乎非常骇人听闻,我不想那样做。使我的Rakefiles1.9.2+兼容的首选方法是什么? 最佳答案 它被认为是“安全”风险。你可以使用绝对路径绕过它File.expand_path(__FILE__)etal或做require'./filename'(