Homebrew:点击创建,在安装过程中移动包文件
Homebrew: tap creation, move package files during installation
我正在尝试弄清楚如何(如果可能的话)告诉 brew,当 x 人安装我的包时,它必须将一些文件放在一个文件夹中,而另一些放在其他文件夹中。
例如,您通常将 /etc/ 文件夹用于配置文件:假设我有项目“project”,如
- file1.py
- file2.js
- file3.blablabla
- configfile.conf
我希望当有人启动 brew install project
时,文件 1、2 和 3 被放入默认的 brew 文件夹,而 configfile.conf 被移动到 /etc/project/。我已经看到很多包在安装过程中移动文件,但是 brew 的文档没有涵盖这种情况,并且在 google 上查找它只会导致人们询问如何移动 homebrew 安装文件夹。
这可能吗,还是我必须将整个项目组织在同一个文件夹中?
我终于找到了答案,它在文档中没有很好地解释,但在那里:
Here are the docs
答案在“只是移动一些文件”部分:
在您的 .rb 脚本中,您具有 def install 函数。如果您查看文档,有一个 table 包含很多目录
prefix #{HOMEBREW_PREFIX}/Cellar/#{name}/#{version} /usr/local/Cellar/foo/0.1
opt_prefix #{HOMEBREW_PREFIX}/opt/#{name} /usr/local/opt/foo
bin #{prefix}/bin /usr/local/Cellar/foo/0.1/bin
etc...
这些是您可以安装文件的目录。
例如,我必须将我的脚本移动到 bin
文件夹中,并将配置文件移动到 etc
文件夹中,所以我写了
def install
etc.install "config" # move file "config" to etc directory
bin.install "script" # move file "script" to bin directory
end
N.B.: etc 和 bin 不是 /etc/
和 /bin/
,而是 brew 文档中指定的那些。在这种情况下 #{HOMEBREW_PREFIX}/etc
和 #{prefix}/bin
其中 HOMEBREW_PREFIX 是 /usr/local
并且前缀是 brew 的安装文件夹。
我正在尝试弄清楚如何(如果可能的话)告诉 brew,当 x 人安装我的包时,它必须将一些文件放在一个文件夹中,而另一些放在其他文件夹中。 例如,您通常将 /etc/ 文件夹用于配置文件:假设我有项目“project”,如
- file1.py
- file2.js
- file3.blablabla
- configfile.conf
我希望当有人启动 brew install project
时,文件 1、2 和 3 被放入默认的 brew 文件夹,而 configfile.conf 被移动到 /etc/project/。我已经看到很多包在安装过程中移动文件,但是 brew 的文档没有涵盖这种情况,并且在 google 上查找它只会导致人们询问如何移动 homebrew 安装文件夹。
这可能吗,还是我必须将整个项目组织在同一个文件夹中?
我终于找到了答案,它在文档中没有很好地解释,但在那里: Here are the docs
答案在“只是移动一些文件”部分: 在您的 .rb 脚本中,您具有 def install 函数。如果您查看文档,有一个 table 包含很多目录
prefix #{HOMEBREW_PREFIX}/Cellar/#{name}/#{version} /usr/local/Cellar/foo/0.1
opt_prefix #{HOMEBREW_PREFIX}/opt/#{name} /usr/local/opt/foo
bin #{prefix}/bin /usr/local/Cellar/foo/0.1/bin
etc...
这些是您可以安装文件的目录。
例如,我必须将我的脚本移动到 bin
文件夹中,并将配置文件移动到 etc
文件夹中,所以我写了
def install
etc.install "config" # move file "config" to etc directory
bin.install "script" # move file "script" to bin directory
end
N.B.: etc 和 bin 不是 /etc/
和 /bin/
,而是 brew 文档中指定的那些。在这种情况下 #{HOMEBREW_PREFIX}/etc
和 #{prefix}/bin
其中 HOMEBREW_PREFIX 是 /usr/local
并且前缀是 brew 的安装文件夹。