Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Hermes software environment manager

License

NotificationsYou must be signed in to change notification settings

andrewchambers/hermes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Hermes is a software environment manager used for installing and uninstallingcollections of software. Hermes may be considered similar to a package manager, but certainlyworks quite differently from traditional tools in this space.

Hermes helps with tasks similar to other tools likehomebrewor perhapsdocker, but in a totally different way. For those who knowNix andGuix, things will be familiar, butthere are also somekey differences.

So what does it do?

When using Hermes yourentire software stack is defined and saved in a set ofpackage definitions along side the rest of your source code. This means Hermesgives you strict reproducible control over your entire software stack. Witha single command you can reliably (and quickly) rebuild a development environment,deployment, docker image or vm imageentirely from source.

With Hermes you can also share, review, clone, fork, patch and pin your whole software stackthe same way you do with your existing source code.

Hermes also provides some nifty features:

  • A decentralized packaging model.
  • Easy installation of software over URLS.
  • Easy transfer of software environments between computers.
  • Avoidance of version conflicts with already installed software.
  • Installing software from source code.
  • Strong support for software auditability.
  • Transparent build caching.
  • Remote package builds.
  • Remote deployments.
  • Atomic upgrades and rollback.
  • and more...

What does using Hermes look like?

Does Hermes replace my language package manager like npm,jpm,cargo,pip... ?

No.

Hermes can be used to manage the system level dependencies during softwaredevelopment while still using these tools normally. For example you could installa specific C compiler and libcurl with hermes, but just invoke npm as normal for yourjavascript project.

During deployment of your software you can invoke these tools from withinpackage definitions to build your software in a well defined sandbox.These packages can then be deployed to remote machines using 'hermes cp'.

Does Hermes replace my system package manager?

Maybe.

Hermes packages are totally separate from your system packages. When you entera hermes environment, your PATH and other environment variables are set to pathswithin the hermes package store.

Hermes does not care what other package managers you use, and does not installpackages in the traditional/bin path so will not conflict with them.

How can you help?

  • Give hermes and hpkgs a star on github.
  • Donate tothe project to keep it sustainable and show interest.

About

Hermes software environment manager

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors3

  •  
  •  
  •  

[8]ページ先頭

©2009-2025 Movatter.jp