代码之家  ›  专栏  ›  技术社区  ›  Martin Delille

安装自定义brew公式时未定义的方法“cmd”

  •  1
  • Martin Delille  · 技术社区  · 7 年前

    我正在创建一个 Homebrew 公式:

    class Pouet < Formula
      desc "A basic command line application written with Qt"
      homepage "https://github.com/MartinDelille/pouet"
      url "https://github.com/MartinDelille/pouet"
      version "0.1"
      sha256 "d4222bde4c798bc4d7f0a5566079d9095d4e4996bc53fe8fc76e63325aa0e71c"
      depends_on "qt" # => :build
    
      def install
        system "qmake", "pouet.pro"
        system "make"
        bin.install "pouet"
      end
    
      test do
        system "#{bin}/pouet"
      end
    end
    

    $ brew install pouet
    ==> Installing pouet from martindelille/tap
    ==> Downloading https://github.com/MartinDelille/pouet
    Already downloaded: /Users/martin/Library/Caches/Homebrew/downloads/e2994828582a29cbbcc10eac093db7f4c95aab2139f30033de5ed3ed3a3f4ab9--pouet
    /usr/local/Homebrew/Library/Homebrew/build.rb:206:in `rescue in <main>': undefined method `cmd' for #<ChecksumMismatchError:0x00007fcad2a0cae0> (NoMethodError)
        from /usr/local/Homebrew/Library/Homebrew/build.rb:183:in `<main>'
    Error: Failure while executing; `/usr/bin/sandbox-exec -f /private/tmp/homebrew20181226-5110-o03zk0.sb nice /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/ruby -W0 -I /usr/local/Homebrew/Library/Homebrew/vendor/bundle-standalone/bundler/../ruby/2.3.0/gems/ruby-macho-2.1.0/lib:/usr/local/Homebrew/Library/Homebrew/vendor/bundle-standalone/bundler/../ruby/2.3.0/gems/rubocop-rspec-1.30.1/lib:/usr/local/Homebrew/Library/Homebrew/vendor/bundle-standalone/bundler/../ruby/2.3.0/gems/rubocop-0.61.1/lib:/usr/local/Homebrew/Library/Homebrew/vendor/bundle-standalone/bundler/../ruby/2.3.0/gems/unicode-display_width-1.4.0/lib:/usr/local/Homebrew/Library/Homebrew/vendor/bundle-standalone/bundler/../ruby/2.3.0/gems/ruby-progressbar-1.10.0/lib:/usr/local/Homebrew/Library/Homebrew/vendor/bundle-standalone/bundler/../ruby/2.3.0/gems/rainbow-3.0.0/lib:/usr/local/Homebrew/Library/Homebrew/vendor/bundle-standalone/bundler/../ruby/2.3.0/gems/powerpack-0.1.2/lib:/usr/local/Homebrew/Library/Homebrew/vendor/bundle-standalone/bundler/../ruby/2.3.0/gems/plist-3.4.0/lib:/usr/local/Homebrew/Library/Homebrew/vendor/bundle-standalone/bundler/../ruby/2.3.0/gems/parser-2.5.3.0/lib:/usr/local/Homebrew/Library/Homebrew/vendor/bundle-standalone/bundler/../ruby/2.3.0/gems/parallel-1.12.1/lib:/usr/local/Homebrew/Library/Homebrew/vendor/bundle-standalone/bundler/../ruby/2.3.0/gems/jaro_winkler-1.5.1/lib:/usr/local/Homebrew/Library/Homebrew/vendor/bundle-standalone/bundler/../ruby/2.3.0/extensions/universal-darwin-18/2.3.0/jaro_winkler-1.5.1:/usr/local/Homebrew/Library/Homebrew/vendor/bundle-standalone/bundler/:/usr/local/Homebrew/Library/Homebrew/vendor/bundle-standalone/bundler/../ruby/2.3.0/gems/backports-3.11.4/lib:/usr/local/Homebrew/Library/Homebrew/vendor/bundle-standalone/bundler/../ruby/2.3.0/gems/ast-2.4.0/lib:/usr/local/Homebrew/Library/Homebrew/vendor/bundle-standalone/bundler/../ruby/2.3.0/gems/activesupport-5.2.2/lib:/usr/local/Homebrew/Library/Homebrew/vendor/bundle-standalone/bundler/../ruby/2.3.0/gems/tzinfo-1.2.5/lib:/usr/local/Homebrew/Library/Homebrew/vendor/bundle-standalone/bundler/../ruby/2.3.0/gems/thread_safe-0.3.6/lib:/usr/local/Homebrew/Library/Homebrew/vendor/bundle-standalone/bundler/../ruby/2.3.0/gems/minitest-5.11.3/lib:/usr/local/Homebrew/Library/Homebrew/vendor/bundle-standalone/bundler/../ruby/2.3.0/gems/i18n-1.3.0/lib:/usr/local/Homebrew/Library/Homebrew/vendor/bundle-standalone/bundler/../ruby/2.3.0/gems/concurrent-ruby-1.1.4/lib:/Library/Ruby/Gems/2.3.0/gems/did_you_mean-1.0.0/lib:/Library/Ruby/Site/2.3.0:/Library/Ruby/Site/2.3.0/x86_64-darwin17:/Library/Ruby/Site/2.3.0/universal-darwin17:/Library/Ruby/Site:/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/vendor_ruby/2.3.0:/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/vendor_ruby/2.3.0/x86_64-darwin17:/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/vendor_ruby/2.3.0/universal-darwin17:/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/vendor_ruby:/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0:/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/x86_64-darwin17:/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/universal-darwin17:/usr/local/Homebrew/Library/Homebrew -- /usr/local/Homebrew/Library/Homebrew/build.rb /usr/local/Homebrew/Library/Taps/martindelille/homebrew-tap/pouet.rb` exited with 1.
    
    1 回复  |  直到 7 年前
        1
  •  1
  •   Jörg W Mittag    7 年前

    这是两个问题的结合:

    1. Homebrew的错误报告在三天前意外中断。

    因此,Homebrew尝试报告公式中的错误,但随后在自己的错误报告中遇到错误。

    您的SHA-256校验和似乎不匹配。因此,Homebrew尝试报告错误,但随后遇到错误 this bug 那是 introduced three days before you wrote your question was fixed three hours after .

    为了解决这个问题,

    1. 您需要修复公式中的错误(更正SHA-256校验和,或找出校验和与下载文件不匹配的原因)
    2. 等到bug修复并更新Homebrew后,才能返回正确的错误报告。
    推荐文章