我刚通过Homebrew在我的mac上安装了clojure 1.9。
正如预期的那样,我在/usr/local/bin
中获得了2个链接到实际的可执行文件
clojure@ -> ../Cellar/clojure/1.9.0.358/bin/clojure
clj@ -> ../Cellar/clojure/1.9.0.358/bin/clj
从命令行运行clojure工作
$ clojure
Clojure 1.9.0
user=>
但不适用于命令行工具
$ clj
zsh: command not found: clj.sh
两个可执行文件都存在
$ ls Cellar/clojure/1.9.0.358/bin
clj* clojure*
我已尝试使用brew uninstall
卸载clojure,并删除了clojure-tools-1.9.0.358.tar.gz
目录中~/Library/Caches/Homebrew/
的缓存版本。
再次安装它是成功的
$ brew install clojure
==> Downloading https://download.clojure.org/install/clojure-tools-1.9.0.358.tar.gz ####### 100.0%
==> ./install.sh /usr/local/Cellar/clojure/1.9.0.358
/usr/local/Cellar/clojure/1.9.0.358: 9 files, 19.4MB, built in 31 seconds
但仍然是同样的错误。
有趣的是,如果我使用Finder找到文件并双击它,则会打开一个新的终端窗口,似乎有效。
Last login: Tue Mar 6 10:35:48 on ttys002
/usr/local/Cellar/clojure/1.9.0.358/bin/clj ; exit;
$ /usr/local/Cellar/clojure/1.9.0.358/bin/clj ; exit;
Clojure 1.9.0
user=>
请问为什么这个可执行文件不能直接从命令行运行?
非常感谢
答案 0 :(得分:1)
问题是我在我的shell配置文件中为clj
设置了一个别名,该文件引用了一个名为clj.sh
的shell脚本,我写了但不再存在 - 因此为什么没有发生了错误消息。
从shell配置文件中删除别名可以解决问题。