fnm

🚀 Fast and simple Node.js version manager, built in Rust

GPL-3.0 License

Downloads
1.9K
Stars
15.2K
Committers
70

Bot releases are hidden (Show)

fnm - v1.15.0

Published by Schniz about 5 years ago

Bugfix 🐛

Documentation 📝

Committers: 2

fnm - v1.14.0

Published by Schniz about 5 years ago

v1.14.0 (2019-08-20)

New Feature 🎉

Bugfix 🐛

  • #131 Deprecates MacOS installation using the script in favor of Homebrew (@Schniz)

Internal 🛠

fnm - v1.13.0

Published by Schniz over 5 years ago

Highlight 🔦

Support for lts/* has landed. Now you can refer to the latest Node v10 as lts/dubnium and both use and install will understand that. Moreover, fnm install latest creates an alias named latest so you can use it without thinking about the exact version.

Changelog 📝

New Feature 🎉

Bugfix 🐛

  • #125 format versions in uninstall (@Schniz)
  • #114 installation script: use $INSTALL_DIR instead of hard-coded $HOME/.fnm (@Schniz)

Documentation 📝

Committers: 2

fnm - v1.12.0

Published by Schniz over 5 years ago

Highlight 🔦

@dangdennis has added a fnm default command that aliases to alias default, so it is more convenient to set a default version! Thanks Dennis!

Changelog 📝

New Feature 🎉

Internal 🛠

Committers: 3

fnm - v1.11.0

Published by Schniz over 5 years ago

Highlights 🔦

  • We now have an uninstall command thanks to the amazing @tatchi!
  • Binary size has dropped significantly thanks to @ulrikstrid and the migration to base. This takes us a little further in supporting Windows!
  • System versions of Node can be used by fnm use system

Changelog 📝

New Feature 🎉

Bugfix 🐛

  • #103 Fix missing aliases due to newer realpath (@Schniz)
  • #99 fix EACCES error when installing an already downloaded version (@tatchi)

Internal 🛠

  • #101 Move from base to core (@ulrikstrid)
  • #102 Implement realpath instead of binding to C library (@Schniz)
  • #100 Add Semver to library, an simple non-spec implementation of semver (@Schniz)

Committers: 3

fnm - v1.10.0

Published by Schniz over 5 years ago

Highlight 🔦

@ohana54 has added a global log level option:

eval "$(fnm env --multi --log-level=quiet)"

Changelog 📝

New Feature 🎉

Documentation 📝

Committers: 2

fnm - v1.9.1

Published by Schniz over 5 years ago

v1.9.1 (2019-04-14)

Bugfix 🐛

  • #91 Fix fnm env for fish shell. (@hwartig)
  • #90 Installation script doesn't use GitHub API, but a link to the latest directly (@Schniz)

Committers: 2

fnm - v1.9.0

Published by Schniz over 5 years ago

Highlight 🔦

fnm will now ask if you want to install the provided version if it isn't already

image

Changelog 📝

New Feature 🎉

  • #86 Add support for interactive installation for use (@Schniz)

Documentation 📝

Committers: 1

fnm - v1.8.0

Published by Schniz over 5 years ago

Binaries are now much smaller due to stripping of the debugging metadata (~30-40% smaller!)

Bugfix 🐛

  • #83 fix: remove unmatched quote written in the fish config file (@ThomasMarcel)

Internal 🛠

  • #84 Strip binaries to make them smaller (@Schniz)
fnm - v1.7.2

Published by Schniz over 5 years ago

Bugfix 🐛

  • #79 Guard from more non-existent directories errors (@Schniz)

Committers: 1

fnm - v1.7.1

Published by Schniz over 5 years ago

Highlight 🔦

use-on-cd now works with .node-version files on Zsh, thanks to a bug that was fixed by @johnletey and reported by @MoOx. Thanks friends! This path is now fully tested

Changelog 📝

Bugfix 🐛

Internal 🛠

  • #78 Add a test to use-on-cd when .node-version is found (@Schniz)

Committers: 2

fnm - v1.7.0

Published by Schniz over 5 years ago

Highlight 🔦

There's a new --use-on-cd option to fnm env that will change Node versions automatically based on the current working directory .nvmrc or .node-version.

If you already have fnm installed,

  • and you use bash/zsh, you will need to change your .zshrc, .bashrc or .bash_profile:
    - eval `fnm env --multi`
    + eval "`fnm env --multi --use-on-cd`"
    
  • and you have fish, you will need to change your fish.config to the following:
    - eval (fnm env --multi)
    + fnm env --multi --use-on-cd | source
    

Changelog

New Feature 🎉

  • #68 Infer shells automatically, and use versions based on the current working directory (optional) (@Schniz)
fnm - v1.6.2

Published by Schniz over 5 years ago

Changelog

Bugfix 🐛

Documentation 📝

  • #70 Fix installation script parameters docs (@Schniz)

Committers: 1

fnm - v1.6.1

Published by Schniz over 5 years ago

Highlight 😳

Fixed a bug for the version inference (completion of the latest installation/version installed), happened by dropping curl for cohttp

Changelog

Bugfix 🐛

  • #69 Fix version inference by throwing on http 404 again (@Schniz)

Committers: 1

fnm - v1.6.0: drop curl as a dependency!

Published by Schniz over 5 years ago

Highlight ✨

@tatchi has replaced the Http module to use cohttp instead of executing curl. That means that we're one step closer to Windows support (I hope) and to a real self-contained binary. Thanks @tatchi!

All commits

New Feature 🎉

  • #57 Switch to cohttp(lwt) instead of curl (@tatchi)

Bugfix 🐛

  • #64 Throw on errors in installation script (@Schniz)

Internal 🛠

Committers: 2

fnm - v1.5.1

Published by Schniz over 5 years ago

Bugfix 🐛

  • #61 Fix a bug where fnm env --multi didn't used the default alias (@Schniz)

Committers: 1

fnm - v1.5.0

Published by Schniz over 5 years ago

✨ Highlight ✨

Inference of complete semantic version:

In order to download the latest Node 11 version:

fnm install 11

In order to use the latest installed Node 11 version:

fnm use 11

All contributions 👏 🌮

New Feature 🎉

  • #60 Disable colors for non-tty devices (@Schniz)
  • #48 Add parameters to the install script, enabling custom installs (--install-dir and --skip-shell) (@from-nibly)
  • #54 Infer complete semver (vX.X.X) out of partial input (vX/vX.X). (@Schniz)

Bugfix 🐛

  • #58 Adding check for OSX during writing for bash shell (@maxknee)
  • #56 Correct status code on install failures (@ranyitz)

Internal 🛠

  • #55 Make tests faster by using cnpmjs as Node.js mirror in tests (@Schniz)

Documentation 📝

fnm - v1.4.0

Published by Schniz over 5 years ago

New features 🎉

  • .node-version file support (#42, by @Dean177)
  • fnm use exits with exit code 1 on errors now (#45, by @Schniz)

Docs

  • Fix development setup guide (#44, by @AdamGS)
fnm - v1.3.0

Published by Schniz over 5 years ago

  • Now licensed as GPLv3. It shouldn't do anything to your current workflow, but I believe this is the only license available based on the dependencies. I'm not a legal expert though, so please let me know if I'm wrong. (#22)

Feature list 🎉

  • Skip installation if version already installed (#27, by @kentac55)
  • Multi-shell and aliases support (#30, by @Schniz)
  • Support Node.js mirrors (#36, by @Schniz - thanks @haishanh for opening the issue!)

Big stuff 🎉

Multi-shell support

By changing the line below, you can now start using fnm with different Node versions on each shell.

- eval `fnm env`
+ eval `fnm env --multi`

It means you can now have different versions for different projects and work in parallel in splits/tabs of your favorite terminal.

Aliases

A simple way of calling a version in a name:

fnm install v8.11.3
fnm alias v8.11.3 stable
fnm use stable # like `fnm use v8.11.3`
fnm - v1.2.1

Published by Schniz over 5 years ago

Bugfix: make sure installer script works on Linux (thanks @drazik!)

Package Rankings
Top 7.14% on Proxy.golang.org
Top 9.16% on Formulae.brew.sh
Top 7.38% on Alpine-edge
Top 12.46% on Crates.io