为什么我的pik gem不适用于Git Bash,但在cmd上工作得很好?我正在使用Windows 7

时间:2014-07-30 17:14:50

标签: ruby windows git bash pik

我安装了pik gem以便能够在ruby版本之间切换,并且它在命令提示符下运行良好,但是当我尝试在Git Bash上执行相同操作时,它不会切换ruby的版本,我尝试了一切。谁能帮助我?我正在使用Windows 7。

Pik在命令提示符下:

C:\Users\Suporte 2>pik list
  187: ruby 1.8.7 (2013-06-27 patchlevel 374) [i386-mingw32]
* 193: ruby 1.9.3p545 (2014-02-24) [i386-mingw32]

C:\Users\Suporte 2>ruby -v
ruby 1.9.3p545 (2014-02-24) [i386-mingw32]

C:\Users\Suporte 2>pik 187

C:\Users\Suporte 2>ruby -v
ruby 1.8.7 (2013-06-27 patchlevel 374) [i386-mingw32]

C:\Users\Suporte 2>pik list
* 187: ruby 1.8.7 (2013-06-27 patchlevel 374) [i386-mingw32]
  193: ruby 1.9.3p545 (2014-02-24) [i386-mingw32]

Git Bash也一样:

Suporte 2@SUPORTE2 /
$ pik list
  187: ruby 1.8.7 (2013-06-27 patchlevel 374) [i386-mingw32]
* 193: ruby 1.9.3p545 (2014-02-24) [i386-mingw32]

Suporte 2@SUPORTE2 /
$ ruby -v
ruby 1.9.3p545 (2014-02-24) [i386-mingw32]

Suporte 2@SUPORTE2 /
$ pik 187

Suporte 2@SUPORTE2 /
$ ruby -v
ruby 1.9.3p545 (2014-02-24) [i386-mingw32]

Suporte 2@SUPORTE2 /
$ pik list
  187: ruby 1.8.7 (2013-06-27 patchlevel 374) [i386-mingw32]
* 193: ruby 1.9.3p545 (2014-02-24) [i386-mingw32]

这是我的路径:

  

C:\碧\; C:\ RailsInstaller \ GIT中\ CMD; C:\ RailsInstaller \ Ruby1.9.3 \ BIN; C:\程序   文件\ Borland的\ Delphi7的\ BIN; C:\ PROGRAM   Files \ Borland \ Delphi7 \ Projects \ Bpl \; C:\ Program Files \ NVIDIA   Corporation \ PhysX \ Common; C:\ Program Files \ CollabNet; C:\ Program   Files \ Embarcadero \ RAD Studio \ 9.0 \ bin; C:\ Users \ Public \ Documents \ RAD   Studio \ 9.0 \ Bpl; C:\ Program Files \ Embarcadero \ RAD   工作室\ 9.0 \ bin64适用; C:\用户\公用\文档\ RAD   工作室\ 9.0 \栉Bpl \ Win64平台;的%SystemRoot%\ SYSTEM32;的%SystemRoot%;%SYSTEMROOT%\ SYSTEM32 \ WBEM;%SYSTEMROOT%\ SYSTEM32 \ WindowsPowerShell \ V1.0 \; C:\ PROGRAM   Files \ nodejs \; C:\ Program Files \ Heroku \ bin; C:\ Program   文件\ git的\ CMD; C:\碧云; C:\ RailsInstaller \ Ruby1.9.3 \ BIN; C:\ RailsInstaller \红宝石1.8.7-P374-I386-的mingw32 \ BIN; C:\ PROGRAM   文件\ GIT中\ CMD

这是我的.bashcr档案在C:\ Users \ Suporte 2:

[[ -s C:/Users/Suporte\ 2/.pik/.pikrc ]] && source C:/Users/Suporte\ 2/.pik/.pikrc

这是我的.pikrc存档位于C:\ Users \ Suporte 2 \ .pik:

#!/bin/sh
pik_path=/c/pik

function pik  {
  $pik_path/pik_runner.exe pik.sh $@
  [[ -s C:/Users/Suporte\ 2/.pik/pik.sh ]] && source C:/Users/Suporte\ 2/.pik/.pikrc
} 

1 个答案:

答案 0 :(得分:1)

为什么它不起作用我相信是在你粘贴的道路上。

如果您在路径列表中注意到我假设路径来自您的git bash shell。

C:\ RailsInstaller \ GIT中\ CMD; C:\ RailsInstaller \ Ruby1.9.3 \ BIN

是您路径中的第二个条目。这意味着它总是首先被找到,并且可能是当你尝试切换时它没有找到正确的ruby版本的原因。您应该在切换版本之前和之后将此路径与cmd中的路径进行比较。我相信你会看到与你在git bash中使用它时的外观相比有所不同。