An rbenv plugin that safely sets global and per-project environment variables
This is a plugin for rbenv that lets you set global and project-specific environment variables before spawning Ruby processes.
Make sure you have the latest version of rbenv, then run:
git clone https://github.com/rbenv/rbenv-vars.git $(rbenv root)/plugins/rbenv-vars
Define environment variables in an
.rbenv-varsfile 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=4096
You can perform variable substitution with the traditional
$syntax. For example, to append to
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_OPTSwill only be set if
$JAVA_OPTSis 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/varsfile will be set first. Then variables specified in
.rbenv-varsfiles in any parent directories of the current directory will be set. Variables from the
.rbenv-varsfile in the current directory are set last.
rbenv varscommand to print all environment variables in the order they'll be set.
1.2.0 (January 9, 2013)
rbenv varsto include the source file path in a comment above its variables, and an empty line between each source file, for easier debugging.
rbenv help varswith rbenv 0.4.0.
1.1.0 (June 25, 2012)
?=. Thanks to Scott Gonyea for the patch.
1.0.0 (September 27, 2011)
© 2012 Sam Stephenson. Released under the MIT license. See