【发布时间】:2016-05-12 16:57:03
【问题描述】:
所以我在 Windows 上安装了 Leiningen 和 git。但是 git bash 似乎找不到 lein 命令,因为它是基于 .bat 文件的。它在 Windows 命令行中工作。有什么方法可以让 lein 命令在 git bash 中工作?
【问题讨论】:
标签: windows clojure leiningen git-bash
所以我在 Windows 上安装了 Leiningen 和 git。但是 git bash 似乎找不到 lein 命令,因为它是基于 .bat 文件的。它在 Windows 命令行中工作。有什么方法可以让 lein 命令在 git bash 中工作?
【问题讨论】:
标签: windows clojure leiningen git-bash
如果我进入 git bash 并输入 echo $PATH,我会看到与我从 dos 控制台输入 echo %PATH% 时的情况相同。
所以我更改了 Windows Path 环境变量,使其包含C:\programs\lein,这是lein.bat 所在的位置。
回到 git bash 我输入 lein 并得到 command not found。但是如果我输入 lein.bat 我可以看到它正在尝试运行该文件,大概就像它是一个 shell 脚本:
Chris@CHRIS-XPS ~
$ lein.bat
/c/programs/lein/lein.bat: line 1: @echo: command not found
/c/programs/lein/lein.bat: line 3: setLocal: command not found
/c/programs/lein/lein.bat: line 7: syntax error near unexpected token `('
/c/programs/lein/lein.bat: line 7: `if "%LEIN_VERSION:~-9%" == "-SNAPSHOT" ('
因此,您可以通过输入lein.sh 来替换lein.bat 来获得更多信息。最好从您自己的 lein.sh 开始,它只尝试执行 java -jar lein.jar -cp ...(我编造了,但应该可以通过查看批处理文件(或 shell 脚本)将正确的命令拼凑在一起)。事实上,如果你的 Windows 托管lein.sh 可以启动任何 java 程序,它也应该可以启动 lein。
【讨论】:
首先,我将 lein.sh 脚本添加到 ~/bin 文件夹中。这个文件夹应该由 GitBash 自己添加到路径中。如果它不在 PATH 中,您可以将 lein.sh 添加到其中的任何文件夹中,或者只需将 ~/bin 添加到您的 PATH 中。比如:
PATH=$PATH:~/bin
您可以在主目录中的“~/.bashrc”上设置以下别名,以便更容易调用 Leiningen:
alias lein='lein.bat'
它在 Leiningen 2.6.1 和 Git Bash 2.8.0 上运行良好。
【讨论】: