castwide / atom-solargraph

An Atom package for Solargraph.
MIT License
39 stars 5 forks source link

Uncaught TypeError: Cannot read property 'getPath' of undefined #4

Closed YuryBogdanov closed 6 years ago

YuryBogdanov commented 6 years ago

Just tried to install Solargraph package in Atom's Package Installer. Got this after installation. Before installing package I also installed Ruby gem with gem install solargraph

Atom: 1.23.3 x64 Electron: 1.6.15 OS: Mac OS X 10.13.2 Thrown From: ruby-solargraph package 0.1.1

Stack Trace

Uncaught TypeError: Cannot read property 'getPath' of undefined

At /Users/ybogdanov/.atom/packages/ruby-solargraph/lib/main.js:11

TypeError: Cannot read property 'getPath' of undefined
    at /packages/ruby-solargraph/lib/main.js:11:69)
    at /packages/ruby-solargraph/lib/main.js:85:2)
    at Module.get_Module._compile (/Applications/Atom.app/Contents/Resources/app/src/native-compile-cache.js:106:36)
    at Object.value [as .js] (/Applications/Atom.app/Contents/Resources/app/src/compile-cache.js:239:29)
    at Module.load (module.js:488:32)
    at tryModuleLoad (module.js:447:12)
    at Function.Module._load (module.js:439:3)
    at Module.require (/app.asar/static/index.js:47:45)
    at require (internal/module.js:20:19)
    at customRequire (/Applications/Atom.app/Contents/Resources/app/static/<embedded>:96:26)
    at Package.module.exports.Package.requireMainModule (/Applications/Atom.app/Contents/Resources/app/src/package.js:937:35)
    at Package.module.exports.Package.activateConfig (/Applications/Atom.app/Contents/Resources/app/src/package.js:303:18)
    at PackageManager.module.exports.PackageManager.packageHasSettings (/Applications/Atom.app/Contents/Resources/app/node_modules/settings-view/lib/package-manager.js:68:20)
    at PackageCard.hasSettings (/Applications/Atom.app/Contents/Resources/app/node_modules/settings-view/lib/package-card.js:793:40)
    at PackageCard.updateSettingsState (/Applications/Atom.app/Contents/Resources/app/node_modules/settings-view/lib/package-card.js:438:22)
    at PackageCard.updateInterfaceState (/Applications/Atom.app/Contents/Resources/app/node_modules/settings-view/lib/package-card.js:430:18)
    at /Applications/Atom.app/Contents/Resources/app/node_modules/settings-view/lib/package-card.js:727:22
    at /Applications/Atom.app/Contents/Resources/app/node_modules/settings-view/lib/package-card.js:810:17
    at Function.module.exports.Emitter.simpleDispatch (/Applications/Atom.app/Contents/Resources/app/node_modules/event-kit/lib/emitter.js:25:20)
    at Emitter.module.exports.Emitter.emit (/Applications/Atom.app/Contents/Resources/app/node_modules/event-kit/lib/emitter.js:141:34)
    at PackageManager.module.exports.PackageManager.emitPackageEvent (/Applications/Atom.app/Contents/Resources/app/node_modules/settings-view/lib/package-manager.js:703:33)
    at /Applications/Atom.app/Contents/Resources/app/node_modules/settings-view/lib/package-manager.js:542:32
    at exit (/Applications/Atom.app/Contents/Resources/app/node_modules/settings-view/lib/package-manager.js:128:22)
    at triggerExitCallback (/Applications/Atom.app/Contents/Resources/app/src/buffered-process.js:338:17)
    at /Applications/Atom.app/Contents/Resources/app/src/buffered-process.js:351:17
    at Socket.<anonymous> (/Applications/Atom.app/Contents/Resources/app/src/buffered-process.js:220:15)
    at emitOne (events.js:101:20)
    at Socket.emit (events.js:188:7)
    at Pipe._handle.close [as _onclose] (net.js:501:12)

Commands

     -1:41.4.0 core:confirm (input.hidden-input)

Non-Core Packages

autocomplete-ruby 0.2.8 
busy-signal 1.4.3 
intentions 1.1.5 
linter 2.2.0 
linter-ruby 1.2.6 
linter-ui-default 1.6.10 
ruby-solargraph 0.1.1 
castwide commented 6 years ago

It looks like the package expects an open project (i.e., a folder or workspace) and throws an error when it doesn't find one. I was able to reproduce the issue by closing the current project window with an .rb file still open and reloading Atom with ctrl+shift+f5.

If you open a folder first and edit a .rb file inside it, does it work?

If that's the issue, I should be able to publish a fix this week.

YuryBogdanov commented 6 years ago

I tried to install Solargraph package when project with .rb files was opened and it worked, no errors. Seems that opened Ruby file/project is mandatory. I think this should be at least added to documentation if anyone else will encounter this problem 🙂

castwide commented 6 years ago

Thanks, @yurybogdanov. Version 0.2.0 of the package should fix the issue with undefined project directories.