bass: while sourcing nvm command works, npm and node command are not working properly

Hi, So ive put the nvm function in the config.fish and installed node with nvm. however, i always get fish: Unknown command 'node' on shell startup, so is npm. they will work after i execute a nvm command though, such as nvm ls.

if nvm is already sourced, how come node wont work?

ps: tested in bash. node and npm work normally.

my config.fish:

# Fisherman config
set fisher_home ~/.local/share/fisherman
set fisher_config ~/.config/fisherman
source $fisher_home/config.fish

# Initial config file contents, which adds /usr/local/bin to the PATH environment variable.
set -g -x PATH /usr/local/bin $PATH

# Homebrew
set -g -x PATH /usr/local/sbin $PATH

# pyenv
status --is-interactive; and . (pyenv init -|psub)

function nvm
    bass source ~/.nvm/nvm.sh ';' nvm $argv
end



# Will eliminate the Fish welcome message that appears by default
set -g -x fish_greeting ''

About this issue

  • Original URL
  • State: closed
  • Created 8 years ago
  • Comments: 43 (2 by maintainers)

Most upvoted comments

I did - I asked you politely to change it. You said “No”. call it nvm-fish if you like - but not “nvm”. That’s confusing for users, and makes googling harder, even if it wasn’t rude and potentially an implicit trademark violation.

@shangsunset For starters, I think the correct function is:

function nvm
     bass source ~/.nvm/nvm.sh --no-use ';' nvm $argv
end

@FabioAntunes Which is why I named it nvm in the first place, but then ljharb was right, I can’t just name my project after creationix/nvm like that, so I changed it to fin.

Now, bear in mind that fin is not a drop-in replacement for nvm nor it requires nvm as a dependency. It’s a standalone node version manager written in fish.

If I want a nvm for fish I will search for that on google, not fin. If I want to run bash script on my fish shell I will search for fish bash wrapper or fish bash runner, not bass.

I couldn’t agree more, and just like fisherman, SEO will be hard to do. Now, on the other hand, those who find it will appreciate it like the hidden gem it is.

@ljharb See edit. If that’s okay with you I’d like to add it to the list of alternatives in your README.

Well, that’s a touching way to put it. There you go: ~~https://github.com/fisherman/nbm~~ 😉

And, I said “dude”. From there to asshole it’s quite a big jump.

~~EDIT: Went with https://github.com/fisherman/fish-nvm~~

EDIT 2: Went with https://github.com/fisherman/fin lol

so call it “nvm in fish”. I insulted you after you posted a very rude one-word answer “No”, and after you called me “bro” (which is also rude; you don’t know me) and told me to “chill”.

I’m glad you worked hard on it, and I hope your project is successful - but it should be successful under its own name, not by stealing the name of something else. If you don’t change your name, and your project attains any notoriety, it will forever live under the shadow of that - I won’t be the only one you hear it from. Why not just change it?