如何为 Sublime Text Prettier 插件配置设置 Node 路径 (Homebrew),使其在 Node 更新中幸存下来?

How do I set Node path (Homebrew) for Sublime Text Prettier plugin configuration so it survives Node updates?

提问人:MrBrady 提问时间:11/9/2023 更新时间:11/14/2023 访问量:24

问:

我通过 Homebrew 安装了 Node。路径为 /opt/homebrew/Cellar/node/21.1.0。

我已经安装了 Prettier Sublime Text 插件 (JSPrettier),它需要定义 Node 路径。将其定义为 /opt/homebrew/Cellar/node/21.1.0 可以使其正常工作。

但是,每当我更新 Node 时,路径都会发生变化。

我该如何进行设置,以便 Prettier Sublime Text 插件配置并在 Node 更新中幸存下来?

手动更新路径有效,但效率不高。

node.js 自制 sublime-text-plugin

评论

1赞 James Hibbard 11/9/2023
“哪个节点”的输出是什么?自制软件不会创建一个符号链接吗?如果是这样,你可以使用它。/usr/local/bin/node

答:

1赞 Mark Setchell 11/14/2023 #1

当您使用自制软件安装软件包时,它会将版本化副本放在其“Cellar”中,并在其目录中创建指向它的未版本化链接。这样,您只需将目录添加到PATH中,shell始终可以找到已安装的每个软件包的最新版本 - 因此,通常应避免使用专门版本控制的可执行文件。binbin

“Cellar”和目录的位置因 Mac 上的 CPU 架构而异:bin

  • 在 Apple Silicon 上,自制软件使用和/opt/homebrew/Cellar/opt/homebrew/bin
  • 在 Intel Mac 上,自制软件使用和/usr/local/Cellar/usr/local/bin

您可以通过运行以下命令来判断它正在使用两个位置中的哪一个:

brew --prefix     # prints "/opt/homebrew" on Apple Silicon and "/usr/local" on Intel

因此,如果您收到 Apple Silicon 上的包装的长列表,您可以看到:/opt/homebrew/binhtop

ls -l /opt/homebrew/bin

lrwxr-xr-x  1 mark  admin    29 Jul  9 15:35 htop -> ../Cellar/htop/3.2.2/bin/htop

这意味着有一个未版本化的普通版本,其中仅指向“Cellar”中的最新 v3.2.2。htop/opt/homebrew/bin/htophtop

TL;博士

使用未版本化的链接,或者除非您真的、真的需要任何特定版本。/usr/local/binopt/homebrew/bin


请注意,如果你是程序员/开发人员,故事会稍微复杂一些。您将使用“包含文件”(又名“头文件”)和库(例如)和文件(即带扩展名)。它们的链接方式与可执行文件完全相同,因此您可以使用:libxyz.sopkgconfig.pc

gcc/clang -I /opt/homebrew/include -L /opt/homebrew/lib  # Apple Silicon

gcc/clang -I /usr/local/include -L /usr/local/lib        # Intel Macs

或者,如果您希望编译/链接在任一架构上工作:

gcc/clang -I "$(brew --prefix)/include" -L "$(brew --prefix)/lib" ...