提问人:MrBrady 提问时间:11/9/2023 更新时间:11/14/2023 访问量:24
如何为 Sublime Text Prettier 插件配置设置 Node 路径 (Homebrew),使其在 Node 更新中幸存下来?
How do I set Node path (Homebrew) for Sublime Text Prettier plugin configuration so it survives Node updates?
问:
我通过 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 更新中幸存下来?
手动更新路径有效,但效率不高。
答:
当您使用自制软件安装软件包时,它会将版本化副本放在其“Cellar”中,并在其目录中创建指向它的未版本化链接。这样,您只需将目录添加到PATH中,shell始终可以找到已安装的每个软件包的最新版本 - 因此,通常应避免使用专门版本控制的可执行文件。bin
bin
“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/bin
htop
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/htop
htop
TL;博士
使用未版本化的链接,或者除非您真的、真的需要任何特定版本。/usr/local/bin
opt/homebrew/bin
请注意,如果你是程序员/开发人员,故事会稍微复杂一些。您将使用“包含文件”(又名“头文件”)和库(例如)和文件(即带扩展名)。它们的链接方式与可执行文件完全相同,因此您可以使用:libxyz.so
pkgconfig
.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" ...
评论
/usr/local/bin/node