Network Updatable Things Services
_ __ __ / | / /_ __/ /______ / |/ / / / / __/ ___/ / /| / /_/ / /_(__ ) /_/ |_/\__,_/\__/____/ version 0.5.7.0
nuts stands for Network Updatable Things Services tool. It is a simple tool for managing remote artifacts, installing these artifacts to the current machine and executing such artifacts on need. Each managed artifact is also called a nuts which is a Network Updatable Thing Service . Nuts artifacts are stored into repositories. A repository may be local for storing local Nuts or remote for accessing remote artifacts (good examples are remote maven repositories). It may also be a proxy repository so that remote artifacts are fetched and cached locally to save network resources.
One manages a set of repositories called a workspace. Managed nuts (artifacts) have descriptors that depicts dependencies between them. This dependency is seamlessly handled by nuts (tool) to resolve and download on-need dependencies over the wire.
nuts is a swiss army knife tool as it acts like (and supports) maven build tool to have an abstract view of the the artifacts dependency and like npm, pip or zypper/apt-get package manager tools to install and uninstall artifacts allowing multiple versions of the very same artifact to be installed.
What makes nuts very helpful is that it simplifies application deployments by not including dependencies in the release bundle. All dependencies will be downloaded at installation time. Offline deployment is still supported though. Besides, multiple versions of the same application can be installed simultaneously.
- exec : execute an artifact or a command
- install, uninstall : install/uninstall an artifact (using its fetched/deployed installer)
- deploy, undeploy : manage artifacts (artifact installers) on the local repositories
- update : update an artifact (using its fetched/deployed installer)
- fetch, push : download from, upload to remote repositories
- search : search for existing/installable artifacts
- welcome : a command that does nothing but bootstrapping nuts and showing a welcome message.
- Linux,Windows,iOS, and Java enabled OS : nuts-0.5.7.jar
- On Unix/Linux platforms you may use :
- using wget
wget https://github.com/thevpc/vpc-public-maven/raw/master/net/vpc/app/nuts/nuts/0.5.7/nuts-0.5.7.jar
- or curl
curl https://github.com/thevpc/vpc-public-maven/raw/master/net/vpc/app/nuts/nuts/0.5.7/nuts-0.5.7.jar > nuts-0.5.7.jar
- using wget
Nuts needs no installation. It will create all needed configuration files upon the very first launch. More details are available at wiki installation page
java -jar nuts-0.5.7.jar
Yous should then see some log like the following :
As you can see, installation upon first launch, will also trigger installation of other optional programs called "companion tools". Actually they are recommended helpful tools :
- ndi which stands for Nuts Desktop Integration that helps configuring the desktop to better interact with nuts by for instance creating shortcuts.
- nsh which stands for Nuts Shell , a bash compatible shell implementation program
- nadmin an administration tool for nuts
Unix-like Systems installation is based on bash shell. First launch will configure "~/.bashrc" so that nuts and other companion tool commands will be available in any future terminal instance. Using nuts on unix-like system should be seamless. A simple bash terminal (MacOs Terminal App, Gnome Terminal, KDE Konsole,...) is already a nuts-aware terminal.
All Linux versions and distributions should work with or without XWindow (or equivalent). Graphical system is required only if you plan to run a gui application using nuts. All tests where performed on OpenSuse Tumbleweed.
On Windows systems, first launch will create a new Nuts Menu (under Programs) and a couple of Desktop shortcuts to launch a configured command terminal.
- nuts-cmd-0.5.7 : this shortcut will open a configured command terminal. nuts command will be available as well as several nuts companion tools installed by ndi by default
- nuts-cmd : this shortcut will point to the last installed nuts version, here 0.5.7
Any of these shortcuts will launch a nuts-aware terminal.
Supported Windows systems include Window 7 and later.
To test installation the simplest way is to open a nuts-aware terminal and type :
nuts --version
It should show a result in the format : nuts-api-version/nuts-impl-version
0.5.7/0.5.7.0
To run a command using nuts just type
nuts <command>
Several commands are available, and you still be able to run any java and non java application. More info in the Nuts official wiki .
Whenever installation or running fails, it is more likely that there is a misconfiguration or invalid libraries that are used. See troubleshooting documentation for more details
You may consider browsing the Nuts official wiki .
View stable releases in official releases page.
View all releases in release details page.