atom-community / atom-script

:runner: Run ( scripts | selections | source ) in Atom
https://atom.io/packages/script
MIT License
735 stars 269 forks source link

No longer using my PATH #93

Open hansrodtang opened 10 years ago

hansrodtang commented 10 years ago

Since the latest update (Might be Atom update or atom-script, I updated both at the same time), atom-script no longer detects my PATH even though a Terminal plugin with "env" detects it just fine.

It still works through terminal, but the PATH through the Atom Terminal is the same as it was before, even without the terminal.

screenshot 2014-04-08 02 15 29

erran commented 10 years ago

@hansrodtang What do you think about my patch related to this on #98?

rgbkrk commented 10 years ago

How are you launching?

erran commented 10 years ago

@hansrodtang From a comment on #98:

This definitely is something that doesn't belong in atom-script. Regardless, below are a few immediate findings.

Turns out if you add a key under editor/core the main settings page will register that on window reload (or closing and restarting atom):

# ~/.atom/config.cson
'core':
  'PATH': '/Users/ecarey/.rbenv/shims:/usr/local/share/npm/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin'
  ...
  'projectHome': '/Users/ecarey/repositories'

screen shot 2014-04-17 at 09 12 57

# ~/.atom/init.coffee
path = atom.config.get('core.PATH')
if path
  process.env.PATH = path

A few possible difficulties with this method:

  • Reloading windows, how would that work?
  • How does this affect launching from the command line?
  • Should we use a PATH_PREFIX instead and prepend it on init?
rgbkrk commented 10 years ago

@hansrodtang - Is this problem still coming up? Where are you launching from?

hansrodtang commented 10 years ago

This is still a problem. I am launching it trough GUI, this worked before (after adding stuff to some .bashrc file). But now atom-script won't detect it even though plugins like atom-terminal (command env) detects them just fine.

rockymadden commented 10 years ago

Chiming in that I too experienced this issue (with Scala). The path referenced in the message is identical to @hansrodtang. I have Scala installed via homebrew and so a path with /usr/local/bin is required.

The solution @erran referenced did work however.

jeffcjohnson commented 9 years ago

In the hopes it may save people time finding a solution for this, I did what @hansrodtang did in a related issue to solve this on OS X.

I added the following to ~/.bash_profile:

if [ -f ~/.bashrc ]; then
source ~/.bashrc
fi
rgbkrk commented 9 years ago

@jeffcjohnson Interesting.

dustinblackman commented 9 years ago

I'm not the best with Coffeescript, but this is something I threw in my init.coffee to read all my paths currently saved in my zsh config, and then set them in Atom. Worked like a charm. Current setup is for a Mac, should be the same for Linux, Windows however will probably need some tweaking. You can of course change the .zshrc file to anything else you need if required.

https://gist.github.com/dustinblackman/db56445e5d649ccbd2b2

fs = require('fs')

# Import ENV from zsh config.
fs.readFile process.env.HOME+"/.zshrc", "utf8", (err, zshFile) ->
  envPaths = []
  for l in zshFile.split('\n')
    if l.substring(0,11) is 'export PATH'
      e = l.split('=').splice(-1)[0]
      e = e.replace(':$PATH','').replace(/"/g,'')
      if ':' in e
        for x in e.split(':')
          envPaths.push(x)
      else
        envPaths.push(e)
  process.env.PATH = envPaths.join(':')