Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

Already on GitHub? Sign in to your account

nave use x.x.x fails #36

Closed
ixti opened this Issue Jun 2, 2012 · 8 comments

Comments

Projects
None yet
3 participants

ixti commented Jun 2, 2012

% nave use 0.6.18
Already installed: 0.6.18
using 0.6.18
/bin/zsh: no such option: rcfile

ixti commented Jun 2, 2012

Got the problem. I use zsh and you are calling $SHELL in some places.
The quickiest workaround for me:

$ mkdir -p $HOME/.local/bin
$ cat > $HOME/.local/bin/nave
#!/bin/sh
SHELL=bash $HOME/.nave/nave.sh $*
^D
$ chmod +x $HOME/.local/bin/nave
$ echo "PATH="$HOME/.local/bin:$PATH" > $HOME/.zshenv

the only limittion - nave use ... in this case "drops" you into BASH

@isaacs isaacs closed this in 8f7057b Jun 4, 2012

Owner

isaacs commented Jun 4, 2012

With the linked commit, nave now only ever spawns bash, so you can probably just update and then remove that shim.

jeromegn commented Jul 6, 2012

Not a deal-breaker, but I'm wondering if there's a way to use zsh with nave.

Owner

isaacs commented Jul 6, 2012

You can use zsh for your shell, but nave is written in bash. It should play nice, but when you do nave use x.y.z some-command then the some-command is run by bash, not by zsh.

jeromegn commented Jul 6, 2012

I tried running zsh when in the shell (with nave use 0.6.19) and then when I node -v, I get the globally installed node (0.8).

Is there a way to have nave use zsh when using nave use x.y.z (without a command)?

Owner

isaacs commented Jul 6, 2012

Set up your zshrc to not re-set the PATH environment variable. (Appending to it is fine, but the first entry in PATH should be the one that nave puts there, or else it won't work.)

jeromegn commented Jul 7, 2012

Here's my PATH in my .zshrc:

PATH=./node_modules/.bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:$PATH

I open up a new shell so it's in effect, the I fire nave use 0.6.19 and that opens a bash shell with the right node version. No if I run zsh, I lose the 0.6.19 node version and go back to 0.8.

What am I doing wrong?

Thanks a lot for taking the time to troubleshoot this with me.

Owner

isaacs commented Jul 7, 2012

Change that to this:

PATH=$PATH:./node_modules/.bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin

Nave prepends to the PATH. Then you are prepending node's main location on TOP of that, which overrides it. Don't do that.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment