New Rust-Based JavaScript Tool Manager to Simplify CLI Management with Global Installs

New Rust-Based JavaScript Tool Manager to Simplify CLI Management with Global Installs

Volta, a new JavaScript tool manager, recently released its first stable version. Volta installs CLI tools globally while locally storing version information. Like nvm for Node, Volta enables having multiple versions of the same tool installed, without having to worry about switching versions when switching projects. Rust-based Volta ships as a native, fast binary with no external dependencies.

Volta, a new JavaScript tool manager, recently released its first stable version. Volta installs CLI tools globally while locally storing version information. Like nvm for Node, Volta enables having multiple versions of the same tool installed, without having to worry about switching versions when switching projects. Volta, written in Rust for speed, ships as a native binary with no external dependencies.

One Volta user summarized the problem that Volta aims at solving as follows:

It’s the age-old problem of “it works on my machine”. This occurs frequently when multiple people are working on a single project such as in a large enterprise or open-source.

As a developer, you probably have multiple projects that you work on. Each might depend on a different toolchain to the other. How do you manage all these different toolchain versions?

Volta, which self-describes as the hassle-free JavaScript tool manager, strives to make managing and sharing JavaScript command-line tools (CLI) convenient and reliable. To do so, Volta uses global installs and shims that are linked to the appropriate version of a tool. Volta has no external dependencies as it is written in Rust and distributed as a single, fast native executable.

Global installs have a few pitfalls that result in developers not favoring them. Global installs are local to a machine: two developers may have different versions of the same globally installed tool, causing differing behavior or inconsistencies. Global installs are project dependencies, and yet are absent from the dependencies or devDependencies properties of the package.json file used by the npm package manager to list dependencies. One single developer having two projects using two versions of the same tool may have to manually switch from one version to another when switching projects.

rust

What is Geek Coin

What is GeekCash, Geek Token

Best Visual Studio Code Themes of 2021

Bootstrap 5 Tutorial - Bootstrap 5 Crash Course for Beginners

Nest.JS Tutorial for Beginners

Hello Vue 3: A First Look at Vue 3 and the Composition API

Rust Casting, Shadowing, Consts and Static

A mix of topics of casting, shadowing, constants and static variables inside the Rust Programming Language. This Rust programming language tutorial series is aimed at easing your training step by step.

Rust Zürichsee, April: Gerhard Bräunlich - PyO3 and Rust in action

This presentation was the first experiment with livestreaming of the Rust Zürisee meetup group in Switzerland. Gerhard is sharing parts of his story migratin...

"Rust Isn’t Afraid to be Imperfect as Long as we Ship something Useful"

Steve Klabnik is a member of the Rust core team, an active open-source contributor, and author of The Rust Programming Language, Rails 4 in Action, and Designing Hypermedia APIs books. In 2012 and 2016, we invited Steve to speak at the RailsClub (now RubyRussia) conference. Since then, Steve has been working on Rust a lot, did a lot of interesting things and we realized that we should definitely interview him once again!

Prevent Breaking Code Changes in Future Releases using `non exhaustive` enums in Rust

Hello everyone, recently I have come across a feature in Rust, known as non_exhaustive. It was introduced in Rust 1.40.0 . This attribute prevents source code-breaking changes in projects downstream.

Rust vs Go - Which Is More Popular?

Rust vs Go - Which Is More Popular - Go and Rust are two of the hottest compiled programming languages. I develop in Go full-time and love it, and I'm learning more about Rust recently - its an exc