自制 "No bottle available"

Homebrew "No bottle available"

我正在尝试在我的 Mac OS Catalina 10.15.7 上安装 sshfs 命令,但出现 brew 错误“sshfs:没有可用的瓶子!”

然后我使用brew cat sshfs来显示源代码,这是输出:

  desc "File system client based on SSH File Transfer Protocol"
  homepage "https://osxfuse.github.io/"
  url "https://github.com/libfuse/sshfs/releases/download/sshfs-2.10/sshfs-2.10.tar.gz"
  sha256 "70845dde2d70606aa207db5edfe878e266f9c193f1956dd10ba1b7e9a3c8d101"
  license "GPL-2.0"
  revision 2

  bottle do
    sha256 cellar: :any, catalina:    "aceff3131dd0b098bdef8b5dda54d117b5dd5269ca146f7a5032ecde3c99b6d2"
    sha256 cellar: :any, mojave:      "5f69267c0f1f2489989e108919d66210e058423d0d1f1661812c0194b164619c"
    sha256 cellar: :any, high_sierra: "58d222f37622b399352f16eaf823d3e564445d9e951629e965281ac31de5ef4a"
    sha256 cellar: :any, sierra:      "dc4a7f24c2cbebd7c35891200b043d737ba6586a28992708ef849ffedff7bb01"
  end

  depends_on "autoconf" => :build
  depends_on "automake" => :build
  depends_on "libtool" => :build
  depends_on "pkg-config" => :build
  depends_on "glib"

  on_macos do
    deprecate! date: "2020-11-10", because: "requires FUSE"
    depends_on :osxfuse
  end

  on_linux do
    depends_on "libfuse"
  end

  # Apply patch that clears one remaining roadblock that prevented setting
  # a custom I/O buffer size on macOS. With this patch in place, it's
  # recommended to use e.g. `-o iosize=1048576` (or other, reasonable value)
  # when launching `sshfs`, for improved performance.
  # See also: https://github.com/libfuse/sshfs/issues/11
  patch do
    url "https://github.com/libfuse/sshfs/commit/667cf34622e2e873db776791df275c7a582d6295.patch?full_index=1"
    sha256 "ab2aa697d66457bf8a3f469e89572165b58edb0771aa1e9c2070f54071fad5f6"
  end

  def install
    system "./configure", "--disable-dependency-tracking", "--prefix=#{prefix}"
    system "make", "install"
  end

  test do
    system "#{bin}/sshfs", "--version"
  end
end

原来我的电脑版是有瓶子的,就是不知道为什么我的brew找不到。

这是我的 brew config 输出:

ORIGIN: https://mirrors.ustc.edu.cn/brew.git
HEAD: 3c84e1fef3d360dd40b9805bb017662f8922376b
Last commit: 7 weeks ago
Core tap ORIGIN: https://mirrors.ustc.edu.cn/homebrew-core.git
Core tap HEAD: 2b8a8a558e0b1e7f7cc0d962fdb35c5c3aa4c36e
Core tap last commit: 2 hours ago
Core tap branch: master
HOMEBREW_PREFIX: /usr/local
HOMEBREW_BOTTLE_DOMAIN: https://mirrors.ustc.edu.cn/homebrew-bottles
HOMEBREW_CASK_OPTS: []
HOMEBREW_DISPLAY: /private/tmp/com.apple.launchd.DkZggm0e9r/org.macosforge.xquartz:0
HOMEBREW_MAKE_JOBS: 4
Homebrew Ruby: 2.6.3 => /usr/local/Homebrew/Library/Homebrew/vendor/portable-ruby/2.6.3_2/bin/ruby
CPU: quad-core 64-bit kabylake
Clang: 12.0 build 1200
Git: 2.24.3 => /Library/Developer/CommandLineTools/usr/bin/git
Curl: 7.64.1 => /usr/bin/curl
Java: 11.0.8
macOS: 10.15.7-x86_64
CLT: 12.0.32.29
Xcode: 12.4
XQuartz: 2.7.11 => /opt/X11

并且 brew doctor 输出:

Warning: Suspicious https://github.com/Homebrew/brew git origin remote found.
The current git origin is:
  https://mirrors.ustc.edu.cn/brew.git

With a non-standard origin, Homebrew won't update properly.
You can solve this by setting the origin remote:
  git -C "/usr/local/Homebrew" remote set-url origin https://github.com/Homebrew/brew

Warning: Suspicious https://github.com/Homebrew/homebrew-core git origin remote found.
The current git origin is:
  https://mirrors.ustc.edu.cn/homebrew-core.git

With a non-standard origin, Homebrew won't update properly.
You can solve this by setting the origin remote:
  git -C "/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core" remote set-url origin https://github.com/Homebrew/homebrew-core

Warning: "config" scripts exist outside your system or Homebrew directories.
`./configure` scripts often look for *-config scripts to determine if
software packages are installed, and which additional flags to use when
compiling and linking.

Having additional scripts in your path can confuse software installed via
Homebrew if the config script overrides a system or Homebrew-provided
script of the same name. We found the following "config" scripts:
  /Users/cutemac/anaconda3/bin/icu-config
  /Users/cutemac/anaconda3/bin/krb5-config
  /Users/cutemac/anaconda3/bin/freetype-config
  /Users/cutemac/anaconda3/bin/xslt-config
  /Users/cutemac/anaconda3/bin/libpng16-config
  /Users/cutemac/anaconda3/bin/libpng-config
  /Users/cutemac/anaconda3/bin/xml2-config
  /Users/cutemac/anaconda3/bin/python3-config
  /Users/cutemac/anaconda3/bin/curl-config
  /Users/cutemac/anaconda3/bin/ncursesw6-config
  /Users/cutemac/anaconda3/bin/pcre-config
  /Users/cutemac/anaconda3/bin/python3.8-config

Warning: gettext files detected at a system prefix.
These files can cause compilation and link failures, especially if they
are compiled with improper architectures. Consider removing these files:
  /usr/local/lib/libgettextlib.dylib
  /usr/local/lib/libintl.dylib
  /usr/local/include/libintl.h
  /usr/local/lib/libgettextlib.dylib
  /usr/local/lib/libintl.dylib
  /usr/local/include/libintl.h

Warning: You have unlinked kegs in your Cellar.
Leaving kegs unlinked can lead to build-trouble and cause brews that depend on
those kegs to fail to run properly once built. Run `brew link` on these:
  icu4c
  readline
  qt
  sqlite
  openjdk
  openblas
  krb5
  tcl-tk
  sphinx-doc
  openssl@1.1
  python@3.8
  ruby
  libffi
  jpeg-turbo

Warning: Some installed formulae are not readable:
  rubberband: undefined method `downcase' for nil:NilClass

  libpsl: undefined method `downcase' for nil:NilClass

  faad2: undefined method `downcase' for nil:NilClass

  ceres-solver: undefined method `downcase' for nil:NilClass

Warning: Homebrew's sbin was not found in your PATH but you have installed
formulae that put executables in /usr/local/sbin.
Consider setting the PATH for example like so:
  echo 'export PATH="/usr/local/sbin:$PATH"' >> /Users/cutemac/.bash_profile

首先检查您是否有权访问该文件:

https://homebrew.bintray.com/bottles/sshfs-2.10_2.catalina.bottle.tar.gz

如果是这种情况,请注意您的目录:

  • /usr/local/Homebrew
  • /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core

指向镜像而不是原始 Homebrew 存储库。

如果您有权这样做,请遵循 brew doctor 和 运行 的建议:

 git -C "/usr/local/Homebrew" remote set-url origin https://github.com/Homebrew/brew

 git -C "/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core" remote set-url origin https://github.com/Homebrew/homebrew-core

然后运行brew upgrade再试一次。

否则你可以用以下方法制作你自己的瓶子:

brew install sshfs --build-bottle