From a369bbc4f58efa7b32346fc2ae26ef12e64f0738 Mon Sep 17 00:00:00 2001 From: Case Taintor Date: Thu, 20 Jun 2024 20:11:30 +0200 Subject: [PATCH] docs: updates the node formula example to use the node installed by Homebrew --- docs/Node-for-Formula-Authors.md | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/docs/Node-for-Formula-Authors.md b/docs/Node-for-Formula-Authors.md index 9a709135d9a75..893fa11039e29 100644 --- a/docs/Node-for-Formula-Authors.md +++ b/docs/Node-for-Formula-Authors.md @@ -102,7 +102,19 @@ class Foo < Formula def install system "npm", "install", *Language::Node.std_npm_install_args(libexec) - bin.install_symlink Dir["#{libexec}/bin/*"] + + # "link" the executable `foo`, ensuring that the version of node installed by Homebrew is used + # (the created `foo` will set the ENV before exec'ing your executable) + env = { PATH: "#{HOMEBREW_PREFIX/"bin"}:$PATH" } + (bin/"foo").write_env_script "#{libexec}/bin/foo", env + + # Uncomment if you simply want to symlink the executable – note that this means the first + # `node` on the PATH will be used (not necessarily the one Homebrew installed) + # bin.install_symlink Dir["#{libexec}/bin/*"] + + # Uncomment if you want to write the completion scripts for bash, fish, and zsh (assuming + # your executable has a command "completion" which returns a completion script) + # generate_completions_from_executable(libexec/"bin/foo", "completion", base_name: 'foo') end test do