2012-02-05 9 views
36

SubLime Linterプラグイン(https://github.com/Kronuz/SublimeLinter)にRuby 1.9の構文を認識させたいと思います。誰もこれをSublimeText 2で動作させることができましたか?ここでRuby 1.9を使用するためのSubLime Linterプラグインの設定

は私の現在のデフォルトの設定ファイルである:

/* 
    SublimeLinter default settings 
*/ 
{ 
    /* 
     Sets the mode in which SublimeLinter runs: 

     true - Linting occurs in the background as you type (the default). 
     false - Linting only occurs when you initiate it. 
     "load-save" - Linting occurs only when a file is loaded and saved. 
    */ 
    "sublimelinter": true, 

    /* 
     Maps linters to executables for non-built in linters. If the executable 
     is not in the default system path, or on posix systems in /usr/local/bin 
     or ~/bin, then you must specify the full path to the executable. 
     Linter names should be lowercase. 

     This is the effective default map; your mappings may override these. 

     "sublimelinter_executable_map": 
     { 
      "perl": "perl", 
      "php": "php", 
      "ruby": "ruby" 
     }, 
    */ 
    "sublimelinter_executable_map": 
    { 
    }, 

    /* 
     Maps syntax names to linters. This allows variations on a syntax 
     (for example "Python (Django)") to be linted. The key is 
     the base filename of the .tmLanguage syntax files, and the value 
     is the linter name (lowercase) the syntax maps to. 
    */ 
    "sublimelinter_syntax_map": 
    { 
     "Python Django": "python" 
    }, 

    // An array of linter names to disable. Names should be lowercase. 
    "sublimelinter_disable": 
    [ 
    ], 

    /* 
     The minimum delay in seconds (fractional seconds are okay) before 
     a linter is run when the "sublimelinter" setting is true. This allows 
     you to have background linting active, but defer the actual linting 
     until you are idle. When this value is greater than the built in linting delay, 
     errors are erased when the file is modified, since the assumption is 
     you don't want to see errors while you type. 
    */ 
    "sublimelinter_delay": 0, 

    // If true, lines with errors or warnings will be filled in with the outline color. 
    "sublimelinter_fill_outlines": false, 

    // If true, lines with errors or warnings will have a gutter mark. 
    "sublimelinter_gutter_marks": false, 

    // If true, the find next/previous error commands will wrap. 
    "sublimelinter_wrap_find": true, 

    // If true, when the file is saved any errors will appear in a popup list 
    "sublimelinter_popup_errors_on_save": false, 

    // jshint: options for linting JavaScript. See http://jshint.com/#docs for more info. 
    // By deault, eval is allowed. 
    "jshint_options": 
    { 
     "evil": true, 
     "regexdash": true, 
     "browser": true, 
     "wsh": true, 
     "trailing": true, 
     "sub": true, 
     "strict": false 
    }, 

    // A list of pep8 error numbers to ignore. By default "line too long" errors are ignored. 
    // The list of error codes is in this file: https://github.com/jcrocholl/pep8/blob/master/pep8.py. 
    // Search for "Ennn:", where nnn is a 3-digit number. 
    "pep8_ignore": 
    [ 
     "E501" 
    ], 

    /* 
     If you use SublimeLinter for pyflakes checks, you can ignore some of the "undefined name xxx" 
     errors (comes in handy if you work with post-processors, globals/builtins available only at runtime, etc.). 
     You can control what names will be ignored with the user setting "pyflakes_ignore". 

     Example: 

     "pyflakes_ignore": 
      [ 
       "some_custom_builtin_o_mine", 
       "A_GLOBAL_CONSTANT" 
      ], 
    */ 
    "pyflakes_ignore": 
    [ 
    ], 

    /* 
     Ordinarily pyflakes will issue a warning when 'from foo import *' is used, 
     but it is ignored since the warning is not that helpful. If you want to see this warning, 
     set this option to false. 
    */ 
    "pyflakes_ignore_import_*": true, 

    // Objective-J: if true, non-ascii characters are flagged as an error. 
    "sublimelinter_objj_check_ascii": false 
} 

答えて

41

私はそれが私のRuby 1.9の実行ファイルへの絶対パスを使用して仕事を得ることができました。私はrbenvを使用しているので、私はrbenv which rubyを実行したパスを得るために、/usr/local/bin/rubyまたは/usr/local/bin/ruby19を入れる必要があります。

これは私のsublimelinterのデフォルト設定は(あなたが好むすぎた場合、プロジェクト固有のファイルにこれを置くことができます:)

Preferences -> Package Settings -> SublimeLinter -> Settings - User

​​
+0

ありがとう、私はそれを私のルビーのインストールを指摘し、それは完全にそれを壊したか、それを修正しました:-)私はこの週末を見て、それがうまくいけば受け入れます。 – bittersweetryan

+4

私はlintingが完全に消え去るのをこれを試みた。私のパスは少し異なります: '〜/ .rvm/rubies/ruby​​-1.9.3-p0/bin/ruby​​' –

+1

これは私のために動作します。' /users/tscott/.rvm/rubies/ruby-1.9.3 -p0/bin/ruby​​' –

19

RVMを使用する際に次のことができるようにすべきであるように見える方法ですそれにはrvm-auto-rubyを使用してください。

がこれに問題でしたが、私はそれが今は解決だと思う:https://github.com/SublimeLinter/SublimeLinter/issues/30

+0

ありがとう、これは私のために完全に動作します。 '{ "sublimelinter_executable_map": { "ルビー": "RVM-自動ルビー" } }私はちょうどパッケージのユーザー設定に、次の追加' –

16

すべて、ちょうどチャイムしたかったので、私もこの問題を有するとST2のV 2.0.1で、次の作品にありましたST2を再起動して、追加した後

Preferences -> Package Settings -> SublimeLinter -> Settings - User

{ 
    "sublimelinter_executable_map": { 
    "ruby": "~/.rvm/bin/rvm-auto-ruby" 
    } 
} 

で発見されたユーザー/ SublimeLinter.sublime-設定ファイル内のUbuntu、コンソールに移動し、それが次のことを実行して更新したことを確認してください:

view.settings().get("sublimelinter_executable_map") 

次のような出力を得る必要があります:私もこれはsublimelinter_executable_mapにrbenvシムにPATHとポイントルビーを追加することによって、仕事を得ることができた

{'ruby': u'~/.rvm/bin/rvm-auto-ruby'} 
+1

はRVM/W OS Xで私のために働きました – Paul

+0

優秀、ありがとう、OS X 10.6の魅力のように働いたSublime 2 with RVM – FireDragon

1

を(私はこれがお勧めだと思いますまた公式のドキュメントからもそうです)。これにより、設定を更新することなくルビのバージョンを切り替えることもできます。 SublimeLinter 3、rbenv(そして、できればRVM)で

{ 
    "sublimelinter_executable_map": { 
    "path": "/usr/local/var/rbenv/shims:/Users/luke/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin", 
    "ruby": "/usr/local/var/rbenv/shims/ruby" 

    } 
} 
0

は(彼らはあなたのシェルのスタートアップに適切な場所で初期化されていることを確認すること以外の)余分な設定を箱から出してサポートされています。

関連する問題