Mole 脚本安装如何改用 --prefix 装到 ~/.local/bin 并让 mo update 免管理员密码【免费下载链接】Mole Clean, uninstall, analyze, optimize, and monitor your Mac. Free open-source CLI, plus a native Mac app.项目地址: https://gitcode.com/GitHub_Trending/mole15/MoleMole 是 macOS 上的命令行清理/优化工具可以用brew install mole安装也可以直接用官方脚本安装。脚本安装有一个默认行为安装目录是/usr/local/bin写这个目录时 macOS 会要求输入管理员密码之后的mo update也可能再次索要密码。如果你不希望每次更新都输密码可以把 Mole 装进用户自己拥有的目录README.md 给出的做法就是--prefix $HOME/.local/bin二进制文件落在~/.local/binmo update更新的是你实际调用的那份安装由于目录归当前用户所有整个更新过程不再触发 sudo。适用环境是 macOSinstall.sh 开头就检查OSTYPE非 macOS 直接报错退出需要网络访问 GitHub 以下载源码或二进制。准备条件macOS且系统里有curl安装脚本用它下载源码没有curl时会回退到git clone。确认当前机器没有通过 Homebrew 装着 Mole。install.sh 的check_requirements会检查 Cellar如果检测到mole是 Homebrew 软链脚本不会继续安装而是打印两个选项后退出Mole is installed via Homebrew Choose one: 1. Update via Homebrew: brew upgrade mole 2. Switch to manual: brew uninstall --force mole then re-run this要改用脚本安装先执行brew uninstall --force mole再重跑安装命令。安装到 ~/.local/bin按 README.md “Other install options” 给出的顺序执行三条命令分别负责建目录、装程序、把目录加进当前终端的PATHmkdir -p $HOME/.local/bin curl -fsSL https://raw.githubusercontent.com/tw93/mole/main/install.sh | bash -s -- --prefix $HOME/.local/bin export PATH$HOME/.local/bin:$PATH几点说明--prefix是 install.sh 支持的参数它把默认值INSTALL_DIR/usr/local/bin替换成你指定的目录mo和mole两个可执行文件、以及analyze、status等辅助二进制就都装在这个前缀下配置与库文件放在~/.config/mole。脚本安装默认拉取最新 release 的源码包并做 SHA256 校验如果想在安装时指定某个 release 或开发分支可以在bash -s --后面追加版本参数例如bash -s -- 1.51.0任意 tag前导V可省或bash -s -- main未发布的 main 分支README 明确提醒 “expect rough edges”。安装脚本会自检它要求安装目录的父目录存在否则报Parent directory ... does not exist退出安装完成后还会执行一次带超时的--help探测版本对不上就判定为安装失败。如果~/.local/bin不在PATH里安装结束时脚本会自己打印提醒例如$HOME/.local/bin is not in your PATH To use mole from anywhere, add this line to your shell profile: export PATH$HOME/.local/bin:$PATH For example, add it to ~/.zshrc or ~/.bash_profile第三行的export只对当前终端生效要让之后打开的终端都能用mo把同一行export写进~/.zshrc或你的 shell profile即可。为什么 mo update 不再要密码mo update的更新逻辑在 lib/manage/update.sh 里。它会先解析你实际调用的那个mole脚本的路径取其所在目录作为安装目录再用update_install_requires_sudo判断是否要 sudo——该函数和 install.sh 的needs_sudo是同一套标准安装目录存在且当前用户可写就不需要管理员权限。~/.local/bin是用户自建目录可写所以mo update下载新版并原子替换文件时不会再弹出密码框。README 对此的表述是“Mole updates the installation you invoked, so it keeps using this directory.”Mole 更新的是你调用的那份安装因此会继续使用该目录。同时注意边界免密码只针对 Mole 自身的安装/更新。README 明确说 “Commands that change system-owned files may still request administrator access”——mo clean、mo optimize这类真正去清理系统所有文件的功能需要管理员权限时仍会要求授权。验证按顺序执行以下检查command -v mo输出应为~/.local/bin/mo或等价的绝对路径说明 shell 找到的是你刚装的前缀而不是/usr/local/bin里的旧副本。mo --version输出形如Mole version 1.53.0具体版本号以当前 release 为准后面跟着 macOS 版本、架构等信息。最后跑一次更新确认免密链路mo update不需要输入任何密码。输出是以下两种之一均为文档中出现的真实文案✓ Already on latest version, 1.53.0或下载并替换后✓ Updated to latest version, 1.53.0如果输出里出现Admin access to ... is required but not available之类的行说明更新目标目录仍然不可写例如你调用的mo其实还指向/usr/local/bin的旧安装先确认command -v mo的路径再重跑mo update。限制与排查Homebrew 共存冲突只要mole在 PATH 上解析为指向Cellar/mole的软链更新流程会走brew upgrade mole分支而不是脚本更新。两条路径不要混用想从 Homebrew 迁到脚本安装先brew uninstall --force mole。前缀目录别放符号链接安装脚本的锁机制会检查安装目录及其父级目录遇到符号链接、属主异常或带 ACL 的路径会拒绝以提权方式写入报 unsafe ancestor 相关错误。~/.local/bin这样的普通用户目录不存在这个问题如果你把--prefix指到别的自定义路径保持它是真实目录、属主是你自己。nightly 通道mo update --nightly更新未发布的 main 分支构建README 标注 “script install only”即只对脚本安装有效Homebrew 安装执行该命令会直接报错退出。卸载不再需要 Mole 时用mo remove移除README.md Quick Start 列表它会作用于当前调用的这份安装。完成上面的验证后这台机器上的 Mole 就固定在~/.local/bin日常mo update静默完成不弹密码框只有需要动系统文件的清理命令才会在确有必要时请求管理员授权。【免费下载链接】Mole Clean, uninstall, analyze, optimize, and monitor your Mac. Free open-source CLI, plus a native Mac app.项目地址: https://gitcode.com/GitHub_Trending/mole15/Mole创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考