我至少有一个应用程序将可执行文件安装在另一个文件夹中,而不是它的文件夹{{prefix}}/bin
,比如{{[prefix}}/libexec/mc/mcwrapper.sh
.
我知道 brew 会bin/
自动对所有文件进行符号链接,无需任何配置。检查brew edit mc
,您将看不到任何用于创建符号链接的代码。
现在的问题是我如何告诉 mc 也符号链接一些其他脚本,以便我可以将它们放在路径中?
公式是 Ruby 脚本,您可以使用ln_s或ln_sf方法来创建符号链接。
ln_s SOURCE, "#{HOMEBREW_PREFIX}/some/custom/target", :force => true
或更短的使用别名ln_sf
ln_sf SOURCE, "#{HOMEBREW_PREFIX}/some/custom/target"
替换SOURCE
为您想要符号链接的文件或目录。
来自 Ruby 文档:
ln_s(旧,新,选项 = {})
创建一个指向旧的符号链接新的。如果 new 已经存在并且它是一个目录,则创建一个符号链接 new/old。如果 new 已经存在并且它不是目录,则引发 Errno::EEXIST。但是如果设置了 :force 选项,则覆盖新的。