【问题标题】:Best way to search through the source code of all the gems for a project搜索项目所有 gem 源代码的最佳方法
【发布时间】:2015-01-14 14:48:00
【问题描述】:

我在我的控制台上收到一条警告,我想解决这个问题。问题是我不确定是哪个 gem 导致了这个警告。在源代码中搜索特定项目的所有 gem 的最佳方法是什么。

谢谢

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-4 bundler


    【解决方案1】:

    接受的答案将搜索安装在您系统上的所有 gem,可能包括实际上不是依赖项的那些。

    从应用根目录搜索您应用的实际依赖项,而不仅仅是任何已安装的 gem:

    grep -r "escape_javascript" $(bundle show --paths) .
    

    最后的. 也将确保搜索您的实际应用程序,而不仅仅是它的依赖项。如果那是你想要的。

    来自http://hectorcorrea.com/blog/bundle-grep-and-rails-applications/68

    【讨论】:

    【解决方案2】:

    我通常会做以下事情:

    cd `bundle show rails` # Go to the directory having rails gem content
    cd ..                  # Go one level up to the folder having all gems
    grep -ir escape_javascript *  # search for the required text in all files
    > actionview-4.1.6/lib/action_view/helpers/javascript_helper.rb:      def escape_javascript(javascript)
    > actionview-4.1.6/lib/action_view/helpers/javascript_helper.rb:      alias_method :j, :escape_javascript
    

    编辑:jrochkind 下面的答案是正确答案;我的答案不正确,因为它会搜索系统中安装的所有 gem。

    【讨论】:

    • grep -ir escape_javascript * grep: *: No such file or directory
    • No such file or directory 是因为一些不可读/不存在的文件;通过传递 -s stackoverflow.com/a/16297914/429758 修复; grep -isr escape_javascript * 。捆绑文件夹不应该有这个问题,因为它没有任何符号链接。
    • 它适用于 Prakash。但是我的 rails gem 目录是空的。你知道为什么吗?
    • rails gem 目录应该只有指南和 README.md。其余代码捆绑在其他 gem 中。如果文件夹完全为空,则不确定是什么问题。
    • 这是一个更好的方法:saturnflyer.com/blog/jim/2013/03/15/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-26
    • 2021-11-26
    • 1970-01-01
    • 2015-07-13
    相关资源
    最近更新 更多