installation - Homebrew:点击创建,在安装过程中移动包文件
问题描述
我试图弄清楚如何(以及是否有可能)告诉 brew 当人 x 安装我的包时,它必须将一些文件放在一个文件夹中,而将一些文件放在其他文件夹中。例如,您通常将 /etc/ 文件夹用于配置文件:假设我有项目“项目”,例如
- 文件1.py
- 文件2.js
- 文件3.blablabla
- 配置文件.conf
我希望当有人启动brew install project
文件 1、2 和 3 时将其放入默认的 brew 文件夹中,而将 configfile.conf 移动到 /etc/project/ 中。我已经看到许多软件包在安装过程中移动文件,但是 brew 的文档没有涵盖这种情况,并且在谷歌上查找它只会导致人们询问如何移动 homebrew 安装文件夹。
这是可能的还是我必须在同一个文件夹中组织整个项目?
解决方案
我终于找到了答案,文档中没有很好地解释它,但是在那里: Here are the docs
答案在“只是移动一些文件”部分:在你的 .rb 脚本中,你有 def install 功能。如果您查看文档,则有一个包含许多目录的表
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
注意: etc 和 bin 不是/etc/
,/bin/
而是在 brew 的文档中指定的。在这种情况下#{HOMEBREW_PREFIX}/etc
,#{prefix}/bin
HOMEBREW_PREFIX 在哪里/usr/local
,前缀是 brew 的安装文件夹。
推荐阅读
- java - JXLS 2.0 条件格式论坛未按行更新
- node.js - 如何更新与 Mongodb 文档中的查询匹配的数组中的特定字段?
- sql - 选择 PostgreSQL 表中每个组的最后一行
- flutter - Flutter - 我只想显示前 2 段
- mysql - MySQL在多个子查询中查找总数
- reactjs - 使用来自外部 JavaScript 的参数访问 react 的函数
- javascript - 如何在 javascript 中获取日期和时间的 ISO 格式?
- python - 已排序数据框中每个 ID 的列中不同值/不同的数量
- c# - 新的 Uri,但保持空间逃脱
- php - 如何将布尔值从 Controller 传递给变量以在 CI 中查看