yujinakayama / atom-lint

Obsolete: Generic code linting support for Atom
https://atom.io/packages/atom-lint
MIT License
111 stars 33 forks source link

Can't run rubocop #1

Closed ruedap closed 10 years ago

ruedap commented 10 years ago

Consoleログで以下のエラーが出ていて実行できませんでした。

Error {code: "ENOENT", errno: "ENOENT", syscall: "spawn"} lint-view.coffee:45
Process exited with code -2 

自分の環境のパスはこんな感じです。rbenvを使ってます。

$ rbenv --version
rbenv 0.4.0

$ ruby -v
ruby 2.1.1p76 (2014-02-24 revision 45161) [x86_64-darwin13.0]

$ gem which rubocop
/Users/ruedap/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/rubocop-0.18.1/lib/rubocop.rb
> process.env.PATH
"/usr/bin:/bin:/usr/sbin:/sbin"

Atom 0.67.0で、atom-lint 0.1.1 です。

yujinakayama commented 10 years ago

ありがとうございます。調べてみます。

yujinakayama commented 10 years ago

rubocopのパスの問題ではないかもしれません。 一度以下の手順でデバッグをお願いできますか?

$ cd ~/.atom/packages
$ rm -rf atom-lint
$ git clone https://github.com/yujinakayama/atom-lint.git
$ cd atom-lint
$ git checkout issue-1-debug

その後、Atom 上で View メニュー > Reload すると、Console に rubocop の実行コマンドが出力されると思うので、そちらを貼って頂ければと。

ruedap commented 10 years ago

こうなりました

Failed to activate package named 'atom-lint' Error: Cannot find module 'season'
  at Function.Module._resolveFilename (module.js:337:15)
  at Function.Module._load (module.js:279:25)
  at Module.require (module.js:363:17)
  at require (module.js:379:17)
  at Object.<anonymous> (/Users/ruedap/.atom/packages/atom-lint/lib/lint-view.coffee:3:8)
  at Object.<anonymous> (/Users/ruedap/.atom/packages/atom-lint/lib/lint-view.coffee:1:1)
  at Module._compile (module.js:455:26)
  at Object.requireCoffeeScript [as .coffee] (/Applications/Atom.app/Contents/Resources/app/src/coffee-cache.js:64:19)
  at Module.load (/Applications/Atom.app/Contents/Resources/app/node_modules/coffee-script/lib/coffee-script/register.js:45:36)
  at Function.Module._load (module.js:311:12)
  at Module.require (module.js:363:17)
  at require (module.js:379:17)
  at Object.<anonymous> (/Users/ruedap/.atom/packages/atom-lint/lib/atom-lint.coffee:1:12)
  at Object.<anonymous> (/Users/ruedap/.atom/packages/atom-lint/lib/atom-lint.coffee:1:1)
  at Module._compile (module.js:455:26)
  at Object.requireCoffeeScript [as .coffee] (/Applications/Atom.app/Contents/Resources/app/src/coffee-cache.js:64:19)
  at Module.load (/Applications/Atom.app/Contents/Resources/app/node_modules/coffee-script/lib/coffee-script/register.js:45:36)
  at Function.Module._load (module.js:311:12)
  at Module.require (module.js:363:17)
  at require (module.js:379:17)
  at Package.module.exports.Package.requireMainModule (/Applications/Atom.app/Contents/Resources/app/src/package.js:455:34)
  at Package.module.exports.Package.activateConfig (/Applications/Atom.app/Contents/Resources/app/src/package.js:176:12)
  at Package.module.exports.Package.activateNow (/Applications/Atom.app/Contents/Resources/app/src/package.js:158:14)
  at /Applications/Atom.app/Contents/Resources/app/src/package.js:147:28
  at Package.module.exports.Package.measure (/Applications/Atom.app/Contents/Resources/app/src/package.js:95:15)
  at Package.module.exports.Package.activate (/Applications/Atom.app/Contents/Resources/app/src/package.js:141:14)
  at PackageManager.module.exports.PackageManager.activatePackage (/Applications/Atom.app/Contents/Resources/app/src/package-manager.js:101:21)
  at PackageManager.module.exports.PackageManager.activatePackages (/Applications/Atom.app/Contents/Resources/app/src/package-manager.js:90:14)
  at PackageManager.module.exports.PackageManager.activate (/Applications/Atom.app/Contents/Resources/app/src/package-manager.js:77:19)
  at Atom.module.exports.Atom.startEditorWindow (/Applications/Atom.app/Contents/Resources/app/src/atom.js:312:21)
  at Object.<anonymous> (/Applications/Atom.app/Contents/Resources/app/src/window-bootstrap.js:14:8)
  at Object.<anonymous> (/Applications/Atom.app/Contents/Resources/app/src/window-bootstrap.js:20:4)
  at Module._compile (module.js:455:26)
  at Object.Module._extensions..js (module.js:473:10)
  at Module.load (/Applications/Atom.app/Contents/Resources/app/node_modules/coffee-script/lib/coffee-script/register.js:45:36)
  at Function.Module._load (module.js:311:12)
  at Module.require (module.js:363:17)
  at require (module.js:379:17)
  at window.onload (file:///Applications/Atom.app/Contents/Resources/app/static/index.html?load…alse%2C%22appVersion%22%3A%220.67.0%22%2C%22shellLoadTime%22%3A262%7D:26:9)
 /Applications/Atom.app/Contents/Resources/app/src/package.js:166
Window load time: 1291ms /Applications/Atom.app/Contents/Resources/app/src/window-bootstrap.js:18
yujinakayama commented 10 years ago

あ、すみません。手順が抜けていました。cd atom-lintの後にnpm installをお願いします。

ruedap commented 10 years ago

お、seasonがインストールされて、コンソールログにはエラーは出なくなりました。

で、atom-lintが動くかなと色々操作して試してみたら、lintのツールチップは画面には出ず、今度は以下のようなログがコンソールに出ていました。

Array[1]
 rubocop.coffee:67
Array[1]
 rubocop.coffee:67
Array[1]
0: "rubocop"
length: 1
__proto__: Array[0]
 rubocop.coffee:67
Error
 lint-view.coffee:45
Error
 lint-view.coffee:45
Error
code: "ENOENT"
errno: "ENOENT"
message: "spawn ENOENT"
stack: (...)
get stack: function () { [native code] }
set stack: function () { [native code] }
syscall: "spawn"
__proto__: d
 lint-view.coffee:45
Process exited with code -2 lint-view.coffee:45
Process exited with code -2 lint-view.coffee:45
Process exited with code -2 lint-view.coffee:45
ruedap commented 10 years ago

上のログ、右端に表示されている行番号が混ざっちゃいました、すみません。

ruedap commented 10 years ago

2014-03-07 at 0 14 23

yujinakayama commented 10 years ago

ありがとうございます。うーむ、想定外のログになっていて謎です。もう少し調べてみます。

ruedap commented 10 years ago

前述のキャプチャのは、「同じファイルを複数ウィンドウで開いてた」という状態によるものだったかもしれません。もう一度最初から試して、且つ、別のマシンの方でも試してみたら、以下の結果に収束するようになりました。

2014-03-07 at 1 00 26

上記ログの時に保存しているRubyコードは下記です。

def aaa
  bbb = nil
end
yujinakayama commented 10 years ago

前述のキャプチャのは、「同じファイルを複数ウィンドウで開いてた」という状態によるものだったかもしれません。

これはこれで後で対処する必要がありそうですが、ENOENTの原因はわかった気がします。

yujinakayama commented 10 years ago

PATH周りの問題に対応したバージョン0.1.2をリリースしました。

AtomをFinder / Dockから起動した場合でも、ログインシェルのPATHを自動的に参照するようにしました。また、rubocopコマンドのパスを明示的に設定できるようにしました。

もしまだ問題があればReopenして下さい。

ruedap commented 10 years ago

ばっちり動きました、対応ありがとうございます :confetti_ball: