草庐IT

BOOT_PATH

全部标签

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'(

javascript - SVG - 如何将 <path> 切成两半?

我需要在javascript中的特定点切割现有路径(曲线)。例如,如果我有以下路径:据此,我可以这样得到中点:varline=document.getElementById("line_test");varlength=line.getTotalLength();varmidpoint=line.getPointAtLength(length/2);一旦我得到那个中点,我想完全删除路径的其余部分。有没有一个函数可以让我得到一个子路径?绘图库对我来说不是一个真正的选择。 最佳答案 是的,它叫做getPathSegAtLength(在路

javascript - Angular JS $location.path(...) 不触发路由 Controller

所以我尝试更新表单提交时使用的路径$location.path('/search');但它不会触发注册到'/search'的路由我也尝试过使用尾部斜杠。没什么,我也试过$scope.$apply但我只是得到了$applyalreadyinprogress错误所以肯定有一个范围。为什么这不会调用注册到路由的Controller或加载注册到它的templateUrl。路由器App.config(function($routeProvider,$locationProvider){$locationProvider.html5Mode(true).hashPrefix('!');$route

javascript - 如何使用 path-to-regexp 匹配所有不以/api/开头的路径?

当使用path-to-regexp时,如何匹配所有不以/api/开头的路径?通过使用nativeJavaScriptRegExp/^(?!\/api\/).*/将匹配/x/y/z。查看来自here的测试结果但是,它不适用于path-to-regexp。查看来自there的测试结果那么在path-to-regexp中实现我的目标的正确方法是什么?[更新1]更多详情:实际情况是我使用的是angular2+koajs。在angular2中,浏览器可能会向服务器发出客户端路由url。请看我的anotherquestion关于这个。为了解决这个问题,正如@mxii所建议的,我正在尝试使用koa-