2024 年 macOS 上各家包管理器的现状

如果是 POSIX shell,确认 \builtin whence sudo 结果是 /usr/bin/sudo 或其它正常位置,\builtin whence -v 有一个 alias type,但要确保 type 也没被改了所以要用 \builtin 确保用的是正确的功能。

1 个赞

明白了,whence 是 zsh。

如果是 bash 的话就是 \builtin type sudo 或者 \builtin command -v sudo 对吧

没办法,Unix shell 的坑太多了,能允许用户覆盖掉 builtin 的命令。

话说你用的什么 shell?zsh 和 fish 能防住 bashrc,但如果是 profile 被修改了呢?:fearful:

我用 elvish,不执行 .profile

是的

1 个赞

疑似的现成案例来了: 通过 brew 安装 Scala 的 Coursier,会被安装到 ~/Library/Application Support/Coursier/bin(macOS),卸载掉了 formula 还会继续存在。(?)

之所以是「疑似」,是因为我之前用过 IDEA 的 Scala 插件,我得排除一下这个 Coursier 是谁安装的。

是这个么?好像是清华 TUNA 的成员开发的项目:https://elv.sh/


话说,还有什么 Shell 能避开 Unix Shell 的各种坑?

1 个赞

最近看到一个 Value 整的活(在脚本里随便用 rm -rf),没错是那个推出了 Proton 和 Steam Deck、为 Linux 游戏生态作出贡献的那个 Value。

这里其实会收到一个 cd: no such file or directory 的报错,但问题是已经开始删除 /* 了,其实来不及的,中断脚本也只能减少损失(尽可能避免个人文件被删),大概率重装系统是避免不了的。:sweat_smile:

Fish 还把精力放到 RIIW(Rewrite It In Rust)上了 :crab:

「战果」是现在在 Repo 里已经看不到 C/C++ 了。

截屏2024-03-10 14.44.45

最近还在用 brew,因为在用 emacs-plus。

不过我唯一用到的功能是 path injection,其实可以直接看 formula 学一下怎么改 plist。

Nix 在新一些的 macOS 上只能用 Multi-user installation 了吧?

这里 没有说 Single-user installation 的事情,而 Linux 的安装说明里明确列出了Single-user installation。

Installing a Binary Distribution - Nix Reference Manual

(你看下安装的脚本,改改就能单用户了