【问题标题】:Unison command not found未找到统一命令
【发布时间】:2018-04-20 07:10:08
【问题描述】:

最近我的Unison 应用程序在我的 Mac 终端上停止工作,说找不到该命令。不确定这是否是原因,但我最近重新安装了 brew(它是如何安装的),这可能已经破坏了它。

这是错误输出:

mac:~ Imran$ unison sites
-bash: unison: command not found

我可以看到如果我在以下目录中找到locate unison unison:

> /Users/Imran/unison.log /Users/Imran/unison.tar.gz
> /usr/local/Cellar/unison /usr/local/Cellar/unison/2.40.102
> /usr/local/Cellar/unison/2.40.102/COPYING
> /usr/local/Cellar/unison/2.40.102/INSTALL_RECEIPT.json
> /usr/local/Cellar/unison/2.40.102/NEWS
> /usr/local/Cellar/unison/2.40.102/README
> /usr/local/Cellar/unison/2.40.102/TODO.txt
> /usr/local/Cellar/unison/2.40.102/bin
> /usr/local/Cellar/unison/2.40.102/bin/unison
> /usr/local/Library/Formula/unison.rb
> /usr/local/Library/LinkedKegs/unison /usr/local/bin/unison
> /usr/local/opt/unison /usr/share/zsh/5.3/functions/_unison

有人可以帮我让它重新工作吗?我怀疑这与应用程序的链接被破坏有关。

【问题讨论】:

  • 愿意分享错误输出吗?
  • 更新了我的原始帖子以包含原始命令和错误
  • which unison 给你什么输出?
  • 字面上什么也不返回

标签: homebrew unison


【解决方案1】:

如果您重新安装了 brew cask,如果在您的路径上找不到它,您可能需要再次手动链接它

brew link unison

【讨论】:

    【解决方案2】:

    根据documentation的错误信息bash: unison: command not found表示:

    确保 Unison 已安装在您尝试连接的主机上。

    【讨论】:

      【解决方案3】:

      对于在 macOS 上遇到此错误的任何人: 如果您使用zsh(或运行较新的macOS 版本,其中zsh 是默认设置),您必须修改或创建~/.zshenv

      通过将以下 sn-ps 之一添加到 ~/.zshenv,将您的路径添加到 shell 环境。

      对于 ARM64(M1 Mac):

      eval $(/opt/homebrew/bin/brew shellenv)
      

      或在 x86(英特尔 Mac)上

      eval $(/usr/local/bin/brew shellenv)
      

      或者您只需获取您的zshrc

      source ~/.zshrc
      

      【讨论】:

        【解决方案4】:

        您用户的 PATH 变量不包含指向 unison 二进制文件的链接。

        将 /usr/local/Cellar/unison/2.40.102/bin/unison 添加到您的 .bashrc,

        $ vi ~/.bashrc
        

        添加以下内容,

        export PATH=$PATH:/usr/local/Cellar/unison/2.40.102/bin/unison
        

        保存退出,然后重新读取用户的 bashrc 文件,

        exec bash
        

        现在再次尝试which unison,或者实际上只是尝试运行它,

        $ unison
        

        【讨论】:

        • 刚刚尝试了这些步骤,似乎没有任何效果。运行 which unison 仍然没有返回任何内容。
        • echo $PATH 返回什么?
        • 我认为 homebrew 的意义在于它在/usr/local/bin 中创建了您应该使用的符号链接,因此您在安装时不必更改脚本较新的版本,因此您不必在 PATH 中包含每个包的路径 - 您只需将 /usr/local/bin 添加到您的 PATH 中,您就可以开始了......
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-05-05
        • 2012-10-31
        • 2015-10-14
        • 2015-09-16
        • 2017-12-04
        • 2012-05-05
        相关资源
        最近更新 更多