AtomでのRuby入力補完にrobeを使う
概要
autocomplete-rubyがいいぞということでインストールを試みたものの
- ruby2.4以降だとrsenseのサーバが起動せず利用できない
- rsenseの開発が停止して数年経過している
- 代替案としてsolargraphがあったがこちらも動作せず
というわけで他に何かないか探していたところ「robe」が出てきました。
Atomのパッケージ「robe」は現在のところ候補をリストで表示するのみのようです。
宣言へのJumpやドキュメントへのリンクなどの機能はありません。
AtomでRubyの入力補完するのにおすすめのパッケージあれば教えてください。。。
環境
OS:MacOS Mojave
Ruby:2.6.x
anyenv下のrbenvでインストール
robeとは
- 開発が継続中(直近2019/5に更新あり)
- Ruby1.9.3-2.6まで対応している。
- emacsでよく使われている
Git
インストール
- robeをダウンロード
git clone https://github.com/dgutov/robe /任意のディレクトリ/robe
Atomにパッケージ「 autocomplete-robe」をインストール
settingにてrobeを設置したパスを設定
/任意のディレクトリ/robe
gemのpryをbunlerでインストール
Gemfileにgem 'pry'
を記載してbundle update
を実行
gem install pry
では動作しませんでした。
- robeをダウンロード
git clone https://github.com/dgutov/robe /任意のディレクトリ/robe
Atomにパッケージ「 autocomplete-robe」をインストール
settingにてrobeを設置したパスを設定
/任意のディレクトリ/robegemのpryをbunlerでインストール
Gemfileにgem 'pry'
を記載してbundle update
を実行
gem install pry
では動作しませんでした。
公式に以下の記載がありました
Please note that robe server requires pry to be installed (with bundler).
雑記
以下は、調査の過程でわかった内容です。rsenseの問題が解消するわけではないので、興味のある方だけお読みください
autocomplete-rubyが動作しない
rsenseのサーバが起動しないことが全ての原因。
補完機能が動作する仕組みとしては、rsenseがローカルでサーバを起動していてそれを利用してAtomのautocomplete-rubyが動作するようになっているために、動作しませんでした。
また、rsenseへのパスが設定できキックができていると、エラー自体はログファイルに書き込まれるために、表面上はエラーを表示しないので気付きにくかったが、そこはAtomのコンソール(Ctrl+Cmd+I)の内容を確認すると気づけます。
Ruby2.6.1のBundlerの不具合
/tmp/rsense.logに下記の内容が記載されていたため調査
Bundler 2 requires Ruby 2.3 or later. Either install bundler 1 or update to a supported Ruby version.
以下のサイトで説明がされていますが、Ruby2.6.1ではBundlerのバージョンが正しく起動しないという不具合がありました。
Ruby 2.6.1 の Bundler の不具合のお知らせ
Ruby 2.6.1 に含まれる Bundler 1.17.2 に不具合があるという話
これだ!
ということでRubyのバージョンを2.6.2と2.6.3でためしましたが、不具合自体は解消されたもののエラーそのものは改善されませんでした。。。
どうしてもrsenseがいいという場合には
Rubyのバージョンを2.3.8にすれば動作することは確認できました。
Author And Source
この問題について(AtomでのRuby入力補完にrobeを使う), 我々は、より多くの情報をここで見つけました https://qiita.com/tmasu/items/bcbdb36341211729bf5f著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .