How can I use Pik for Ruby in Git Bash on Windows?

git, git-bash, pik, ruby, windows

Solution

The last answer is correct as far as it goes. However, on Windows systems the $USERPROFILE environment variable is set to something like: C:\Documents and Settings\username.

The spaces in the path cause the command to be interpreted improperly. This is better:

[[ -s "$USERPROFILE/.pik/.pikrc" ]] && source "$USERPROFILE/.pik/.pikrc"

Note the quotes around the paths in the code snippet above.

Additionally, your .bashrc file (or .bash_profile file) should be located within the directory specified by the USERPROFILE environment variable, e.g. - C:\Documents and Settings\username.

Problem

I'm running multiple versions of Ruby (and Rails) on Windows and use Pik to switch between them. At the command line, I'm able to call ``` > pik list 186: ruby 1.8.6 (2007-09-24 patchlevel 111) [i386-mswin32] 192: ruby 1.9.2p0 (2010-08-18) [i386-mingw32] ``` to get a list of ruby versions available, and use ``` > pik 192 > ruby -v ruby 1.9.2p0 (2010-08-18) [i386-mingw32] ``` to make ruby 1.9.2 the active version: I am not able to do the same in git bash: ``` $ pik list sh.exe": pik: command not found ``` and the version of ruby is still 1.8.6 ``` $ ruby -v ruby 1.8.6 (2007-09-24 patchlevel 111) [i386-mswin32] ``` It seems like git bash can't see the path to pik. Is there a way to alter the path within git bash or is there another way to run pik in git bash?

Original source