NodeJS 我如何为Sublime Text Prettier插件配置设置节点路径(Homebrew),以便它在节点更新中生存?

0pizxfdo  于 2023-11-17  发布在  Node.js
关注(0)|答案(1)|浏览(113)

我通过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插件配置和生存节点更新?
手动更新路径可以工作,但效率不是很高。

ltskdhd1

ltskdhd11#

当你使用homebrew安装一个软件包时,它会在它的 “Cellar” 中放置一个版本控制的副本,并在它的bin目录中创建一个指向它的非版本控制的链接。这样,你只需要将bin目录添加到你的PATH中,你的shell就可以总是找到你安装的每个软件包的最新版本-所以你通常应该避免使用特定版本的可执行文件。

  • “Cellar”* 和bin目录的位置根据Mac上的CPU架构而有所不同:
  • 在Apple Silicon上,自制软件使用/opt/homebrew/Cellar/opt/homebrew/bin
  • 在Intel Mac上,homebrew使用/usr/local/Cellar/usr/local/bin

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

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

字符串
因此,如果您在Apple Silicon上获得htop包的/opt/homebrew/bin的长列表,您可以看到:

ls -l /opt/homebrew/bin

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


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

TL;DR

使用/usr/local/binopt/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" ...

相关问题