在Windows上使用Gin Bash中的Leiningen

Sin*_*yas 4 windows clojure leiningen git-bash

所以我在窗户上安装了Leiningen和git.但是git bash似乎没有找到lein命令,因为它基于.bat文件.它适用于Windows命令行.有没有办法让lein命令在git bash中工作?

Luc*_*utz 7

首先,我将lein.sh脚本添加到〜/ bin文件夹中.该文件夹应该由GitBash本身添加到路径中.如果它不在PATH中,您可以将lein.sh添加到其中的任何文件夹中,或者只需将〜/ bin添加到PATH中.就像是:

PATH=$PATH:~/bin
Run Code Online (Sandbox Code Playgroud)

您可以在主目录中的"〜/ .bashrc"上设置以下别名,以便更轻松地调用Leiningen:

alias lein='lein.bat'
Run Code Online (Sandbox Code Playgroud)

它与Leiningen 2.6.1和Git Bash 2.8.0一起运行良好.


Chr*_*phy 0

如果我进入 git bash 并输入,我会看到与我从 dos 控制台echo $PATH输入相同的内容。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" ('
Run Code Online (Sandbox Code Playgroud)

因此,您可以通过直接lein.sh替换来走得更远lein.batlein.sh最好先尝试只执行自己的java -jar lein.jar -cp ...命令(这是我编的,但应该可以通过查看批处理文件(或 shell 脚本)将正确的命令拼凑在一起)。事实上,如果你的Windows 主机 lein.sh可以启动任何 java 程序,它也应该能够启动 lein。