Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rbenv/rbenv-vars
An rbenv plugin that safely sets global and per-project environment variables
https://github.com/rbenv/rbenv-vars
Last synced: 3 months ago
JSON representation
An rbenv plugin that safely sets global and per-project environment variables
- Host: GitHub
- URL: https://github.com/rbenv/rbenv-vars
- Owner: rbenv
- License: mit
- Created: 2011-09-27T17:53:49.000Z (about 13 years ago)
- Default Branch: master
- Last Pushed: 2022-01-07T09:24:04.000Z (almost 3 years ago)
- Last Synced: 2024-07-23T18:54:28.447Z (3 months ago)
- Language: Shell
- Homepage:
- Size: 17.6 KB
- Stars: 422
- Watchers: 10
- Forks: 44
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# rbenv-vars
This is a plugin for [rbenv](https://github.com/rbenv/rbenv)
that lets you set global and project-specific environment variables
before spawning Ruby processes.## Installation
With Homebrew:
```sh
brew install rbenv-vars
```Alternatively, with git:
```sh
git clone https://github.com/rbenv/rbenv-vars.git "$(rbenv root)"/plugins/rbenv-vars
```## Usage
Define environment variables in an `.rbenv-vars` file in your project,
one variable per line, in the format `VAR=value`. For example:RUBY_GC_MALLOC_LIMIT=50000000
RUBY_HEAP_MIN_SLOTS=15000
RUBY_FREE_MIN=4096You can perform variable substitution with the traditional `$`
syntax. For example, to append to `GEM_PATH`:GEM_PATH=$GEM_PATH:/u/shared/gems
You may also have conditional variable assignments, such that a
variable will **only** be set if it is not already defined or is blank:JAVA_OPTS?=-server -Xmx768m -Xms768m -Xmn128m -Xss20m
In the above case, `JAVA_OPTS` will only be set if `$JAVA_OPTS` is
currently empty (i.e., if `[ -z "$JAVA_OPTS" ]` is true).Spaces are allowed in values; quoting is not necessary. Expansion and
command substitution are not allowed. Lines beginning with `#` or any
lines not in the format VAR=value will be ignored.Variables specified in the `$(rbenv root)/vars` file will be set
first. Then variables specified in `.rbenv-vars` files in any parent
directories of the current directory will be set. Variables from the
`.rbenv-vars` file in the current directory are set last.Use the `rbenv vars` command to print all environment variables in the
order they'll be set.## Version History
**1.2.0** (January 9, 2013)
* Fixed a bug where source files without a trailing newline could
concatenate improperly with other source files on systems with GNU
sed.
* Changed the output of `rbenv vars` to include the source file path
in a comment above its variables, and an empty line between each
source file, for easier debugging.
* Added support for `rbenv help vars` with rbenv 0.4.0.**1.1.0** (June 25, 2012)
* Added support for conditional variable assignments using
`?=`. Thanks to Scott Gonyea for the patch.**1.0.0** (September 27, 2011)
* Initial public release.
## License
© 2012 Sam Stephenson. Released under the MIT license. See
`LICENSE` for details.