ioquatix / script-runner

This package will run various script files inside of Atom. It currently supports JavaScript, CoffeeScript, Ruby, and Python. You can add more.
http://atom.io/packages/script-runner
Other
62 stars 23 forks source link

Uncaught TypeError: Bad argument [MacOS] #61

Closed seanodell closed 7 years ago

seanodell commented 7 years ago

[Enter steps to reproduce below:]

  1. Create a shell script named something.sh and give it these contents:

    #!/bin/bash
    ls -la
  2. Execute it

Atom Version: 1.12.7 Electron Version: 1.3.13 System: Mac OS X 10.11.6 Thrown From: script-runner package, v2.0.1

Stack Trace

Uncaught TypeError: Bad argument

At internal/child_process.js:289

TypeError: Bad argument
    at TypeError (native)
    at ChildProcess.spawn (internal/child_process.js:289:26)
    at Object.exports.spawn (child_process.js:392:9)
    at ShellEnvironment.getLoginEnvironmentFromShell (/Users/USERNAMEOMITTED/.atom/packages/script-runner/node_modules/shell-environment/lib/index.js:59:28)
    at ShellEnvironment.getBestEnvironment (/Users/USERNAMEOMITTED/.atom/packages/script-runner/node_modules/shell-environment/lib/index.js:47:19)
    at ShellEnvironment.getEnvironment (/Users/USERNAMEOMITTED/.atom/packages/script-runner/node_modules/shell-environment/lib/index.js:36:14)
    at Function.ShellEnvironment.loginEnvironment (/Users/USERNAMEOMITTED/.atom/packages/script-runner/node_modules/shell-environment/lib/index.js:92:36)
    at ScriptRunner.run (/Users/USERNAMEOMITTED/.atom/packages/script-runner/lib/script-runner.coffee:120:22)
    at atom-workspace.atom.commands.add.run:script (/Users/USERNAMEOMITTED/.atom/packages/script-runner/lib/script-runner.coffee:50:33)
    at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:259:29)
    at /Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:3:59
    at KeymapManager.module.exports.KeymapManager.dispatchCommandEvent (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:587:16)
    at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:382:22)
    at WindowEventHandler.module.exports.WindowEventHandler.handleDocumentKeyEvent (/Applications/Atom.app/Contents/Resources/app.asar/src/window-event-handler.js:106:36)
    at HTMLDocument.<anonymous> (/Applications/Atom.app/Contents/Resources/app.asar/src/window-event-handler.js:3:59)

Commands

     -0:58.3.0 run:script (atom-text-editor.editor.is-focused)
     -0:03.5.0 editor:move-to-first-character-of-line (atom-text-editor.editor.is-focused)
  2x -0:02.7.0 core:move-down (atom-text-editor.editor.is-focused)
     -0:02.1.0 core:move-left (atom-text-editor.editor.is-focused)
     -0:01.5.0 core:save (atom-text-editor.editor.is-focused)
     -0:00.1.0 run:script (atom-text-editor.editor.is-focused)

Config

{
  "core": {
    "allowPendingPaneItems": false,
    "telemetryConsent": "no"
  }
}

Installed Packages

# User
autocomplete-bash-builtins, v0.3.4 (active)
date, v1.1.1 (inactive)
language-applescript, v0.3.0 (active)
language-mediawiki, v2.2.0 (active)
quick-query, v0.9.0 (inactive)
quick-query-sqlite, v0.3.1 (active)
script, v3.13.0 (active)
script-runner, v2.0.1 (active)
symbols-tree-view, v0.13.2 (active)
typewriter, v0.4.0 (active)
atom-dark-syntax, v0.27.0 (inactive)
atom-dark-ui, v0.52.0 (inactive)
atom-light-syntax, v0.28.0 (inactive)
atom-light-ui, v0.45.0 (inactive)
base16-tomorrow-dark-theme, v1.3.0 (inactive)
base16-tomorrow-light-theme, v1.3.0 (inactive)
one-dark-ui, v1.6.2 (active)
one-light-ui, v1.6.2 (inactive)
one-dark-syntax, v1.5.0 (active)
one-light-syntax, v1.5.0 (inactive)
solarized-dark-syntax, v1.0.5 (inactive)
solarized-light-syntax, v1.0.5 (inactive)
about, v1.7.0 (active)
archive-view, v0.62.0 (active)
autocomplete-atom-api, v0.10.0 (active)
autocomplete-css, v0.13.1 (active)
autocomplete-html, v0.7.2 (active)
autocomplete-plus, v2.31.4 (active)
autocomplete-snippets, v1.11.0 (active)
autoflow, v0.27.0 (inactive)
autosave, v0.23.1 (active)
background-tips, v0.26.1 (active)
bookmarks, v0.42.0 (active)
bracket-matcher, v0.82.2 (active)
command-palette, v0.39.0 (inactive)
deprecation-cop, v0.54.1 (active)
dev-live-reload, v0.47.0 (active)
encoding-selector, v0.22.0 (active)
exception-reporting, v0.40.0 (active)
find-and-replace, v0.202.2 (inactive)
fuzzy-finder, v1.4.0 (active)
git-diff, v1.1.0 (active)
go-to-line, v0.31.0 (inactive)
grammar-selector, v0.48.2 (active)
image-view, v0.60.0 (active)
incompatible-packages, v0.26.1 (active)
keybinding-resolver, v0.35.0 (active)
line-ending-selector, v0.5.0 (active)
link, v0.31.2 (inactive)
markdown-preview, v0.158.8 (active)
metrics, v1.1.2 (active)
notifications, v0.65.1 (active)
open-on-github, v1.2.1 (inactive)
package-generator, v1.0.1 (inactive)
settings-view, v0.243.1 (active)
snippets, v1.0.4 (active)
spell-check, v0.68.4 (active)
status-bar, v1.4.1 (active)
styleguide, v0.47.2 (active)
symbols-view, v0.113.1 (inactive)
tabs, v0.103.0 (active)
timecop, v0.33.2 (active)
tree-view, v0.210.0 (active)
update-package-dependencies, v0.10.0 (active)
welcome, v0.35.1 (active)
whitespace, v0.35.0 (active)
wrap-guide, v0.38.2 (active)
language-c, v0.54.0 (active)
language-clojure, v0.22.1 (active)
language-coffee-script, v0.48.0 (active)
language-csharp, v0.13.0 (active)
language-css, v0.40.1 (active)
language-gfm, v0.88.0 (active)
language-git, v0.15.0 (active)
language-go, v0.43.0 (active)
language-html, v0.47.1 (active)
language-hyperlink, v0.16.1 (active)
language-java, v0.24.0 (active)
language-javascript, v0.122.0 (active)
language-json, v0.18.3 (active)
language-less, v0.29.6 (active)
language-make, v0.22.2 (active)
language-mustache, v0.13.0 (active)
language-objective-c, v0.15.1 (active)
language-perl, v0.37.0 (active)
language-php, v0.37.3 (active)
language-property-list, v0.8.0 (active)
language-python, v0.45.1 (active)
language-ruby, v0.70.2 (active)
language-ruby-on-rails, v0.25.1 (active)
language-sass, v0.57.0 (active)
language-shellscript, v0.23.0 (active)
language-source, v0.9.0 (active)
language-sql, v0.25.0 (active)
language-text, v0.7.1 (active)
language-todo, v0.29.1 (active)
language-toml, v0.18.1 (active)
language-xml, v0.34.12 (active)
language-yaml, v0.27.1 (active)

# Dev
No dev packages
ioquatix commented 7 years ago

OMG LOL.. I am the developer and I did all the new update work on my Linux box.... and now I try to install on my MBP and script-runner fails to install because of pty.js

Uh, I guess I'm gonna try to fix this... why pty.js so difficult.. oh because it uses gyp which rhymes with shit.

ioquatix commented 7 years ago

This should be fixed in v2.1.0 which I just released. Can you please try the update and re-open this issue if it's still a problem.

seanodell commented 7 years ago

I can't reopen once a contributor closes. :( I got the same issue after upgrading to v2.1.0, and it sent me right back here saying it had already been reported.

ioquatix commented 7 years ago

If you run python --version what is the output?

ioquatix commented 7 years ago

I also just realised this might be an issue with your shell.

what is your default shell for your user?

seanodell commented 7 years ago

Bash ... MacOS default.

ioquatix commented 7 years ago

Hmm, that's odd. It's failing because it can't load your shell environment. What is the output of bash -ilc env

ioquatix commented 7 years ago

Can you let me know if this is still an issue?

seanodell commented 7 years ago

It seems to be fixed now, but I've been using https://github.com/rgbkrk/atom-script and prefer that, actually.

ioquatix commented 7 years ago

Awesome, yeah I used to use atom-script too. What do you prefer about it?

seanodell commented 7 years ago

It works really well, covers a lot of languages and I like where the output goes. It makes sense to me. When I ran script-runner just now, I got this new tab for the output, and it went to the right of my text editor; I expect output below. The formatting was strange too ... the colors and the font seemed to not fit atom very well to me. I haven't played with script-runner beyond this test, so maybe it's just a matter of aesthetics, but that kind of matters I think. I don't know the differences beyond how they look.

ioquatix commented 7 years ago

When I ran script-runner just now, I got this new tab for the output, and it went to the right of my text editor; I expect output below.

This is a configurable option in the preferences of the plugin. Perhaps it should be more prominent in the README?

The formatting was strange too ... the colors and the font seemed to not fit atom very well to me.

You can choose light or dark theme in the preferences.

I haven't played with script-runner beyond this test, so maybe it's just a matter of aesthetics, but that kind of matters I think. I don't know the differences beyond how they look.

I agree with that and understand where you are coming from. I am working right now on updating the view code to make it a bit nicer to look at.

ioquatix commented 7 years ago

@seanodell Okay, most of the points you raised are now addressed in the latest release. If you like try it out and let me know what you think.