我正在尝试为tableutil创建一个家庭酿造公式。我想出了以下内容:
require "formula"
class Tableutil < Formula
homepage "http://expiretable.fnord.se"
url "https://github.com/gsson/tableutil/archive/master.tar.gz"
sha1 "58ccb6826f28bf4e97b320317741a3971516279a"
version "0.6"
def install
system "make", "PREFIX=#{prefix}"
system "install"
end
end
然而我收到以下错误:
brew install tableutil
==> Downloading https://github.com/gsson/tableutil/archive/master.tar.gz
Already downloaded: /Library/Caches/Homebrew/tableutil-0.6.tar.gz
==> make PREFIX=/usr/local/Cellar/tableutil/0.6
==> install
usage: install [-bCcpSsv] [-B suffix] [-f flags] [-g group] [-m mode]
[-o owner] file1 file2
install [-bCcpSsv] [-B suffix] [-f flags] [-g group] [-m mode]
[-o owner] file1 ... fileN directory
install -d [-v] [-g group] [-m mode] [-o owner] directory ...
这是因为taleutil的makefile具有以下内容
PREFIX?=/usr/local
INSTALL_BIN?=${PREFIX}/bin
INSTALL_MAN?=${PREFIX}/man/man1
INSTALL=/usr/bin/install
install: ${TARGET}
${INSTALL} -g bin -o root -m 755 ${TARGET} ${INSTALL_BIN}
${INSTALL} -g bin -o root -m 644 ${MAN} ${INSTALL_MAN}
我使用system&#34; make&#34;,&#34; PREFIX =#{prefix}&#34;修复Makefile以便它安装在适当的地窖中,但我相信这会导致makefile的安装组件出现问题,但我不确定是什么问题。
答案 0 :(得分:0)
在这一行:
system "install"
您正在调用程序install
,其中 是一个二进制文件(在/usr/bin
中),但您没有传递正确的参数。
但是,您实际上并不想这样做 - 您想要调用make install
,因此您应该将该行更改为
system "make", "install"