A package manager for macOS software developers.
面向 macOS 软件开发者的包管理器。
MacWave is a package manager that runs on macOS, designed to host common software packages for macOS software developers.
MacWave 是一个运行在 macOS 上的 包管理器,旨在为 macOS 软件开发者 托管 常用软件包。
package@version, so multiple versions can coexist without conflicting with system tools.MacWaveOrg/infosource repository..zip, .tar.gz, .tar.bz2, .tar.xz, .tar, .gz,.xz, .bz2, .conda.-C.package@version 形式存储,因此多个版本可以共存,且不会与系统工具冲突。MacWaveOrg/infosource 仓库获取。.zip、.tar.gz、.tar.bz2、.tar.xz、.tar、.gz、.xz、.bz2、.conda。-C 继续。macOS Sonoma 14 and above
macOS Sonoma 14 及以上
In the terminal, run:
在终端中运行:
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/MacWaveOrg/MacWave/HEAD/lib/install.sh)" && source ~/.zshrc
(If you are using bash instead of zsh, run source ~/.bashrc)
(如果你使用的是 bash 而非 zsh,请运行 source ~/.bashrc)
Requirements: Python (3.14 and above), Xcode Command Line Tools (14.0 and above).
环境要求:Python(3.14 及以上)、Xcode Command Line Tools(14.0 及以上)。
For scripts and batch use, the installer takes flags so it never waits for input. Options go after --, which ends bash’s own options:
面向脚本与批量场景,安装器提供若干参数,全程不会停下来等待输入。参数放在 -- 之后 —— -- 会结束 bash 自身的选项:
# straight from the repository
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/MacWaveOrg/MacWave/HEAD/lib/install.sh)" \
-- --silent --dir-option=1
--silent (-S) answers the directory menu and the agreement automatically. It needs passwordless sudo, or root, when the chosen directory requires privilege. --dir-option=N picks menu entry N (1-4 on Intel, 1-3 on Apple silicon); for the custom entry, append the path after =, as in --dir-option=4=/opt/my-macwave. Run install.sh --help for the list.
--silent(-S)会自动应答目录菜单与许可协议;当选中的目录需要提权时,它要求免密 sudo 或以 root 运行。--dir-option=N 免菜单直接选定第 N 项(Intel 机器为 1-4,Apple 芯片为 1-3);自定义项要在 = 之后附上路径,例如 --dir-option=4=/opt/my-macwave。完整参数列表可运行 install.sh --help 查看。
Mind where the options go. Writing /bin/bash -c "$(curl ...)" --silent makes --silent the script name ($0), so it is silently dropped; the installer warns when it detects this. The working form puts the options after --.
注意参数的位置。写成 /bin/bash -c "$(curl ...)" --silent 会让 --silent 变成脚本名($0),从而被静默丢弃;安装器检测到这种用法时会给出警告。正确写法是把参数放在 -- 之后。
uninstall.sh is scriptable in the same way: --force skips the confirmation, which otherwise needs a terminal (use --force in CI):
uninstall.sh 同样支持脚本化调用:--force 跳过确认,而确认本身需要一个终端(因此在 CI 里请使用 --force):
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/MacWaveOrg/MacWave/HEAD/lib/uninstall.sh)" -- --force
To completely remove MacWave from your system, run the following command in your terminal:
要从系统中彻底移除 MacWave,请在终端中运行以下命令:
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/MacWaveOrg/MacWave/HEAD/lib/uninstall.sh)"
Installed binaries are stored in (options):
已安装的二进制文件存储于(可选):
1. ~/.local/macwave 2. /opt/macwave 3. /usr/local/macwave (Only Intel Mac) 4. Custom
Config file is stored in (a system-level install always takes priority):
配置文件存储于(系统级安装始终优先):
1. /opt/macwave_config system-level install (needs sudo) 2. ~/.config/macwave_config user-level install (no sudo)
To run a package, run the following commands in your terminal:
要运行某个软件包,请在终端中运行以下命令:
{package_name}@{version}
Use the versioned name {package_name}@{version}, or run wave link {package_name} once and then just type {package_name}.
使用带版本号的名称 {package_name}@{version},或先运行一次 wave link {package_name},之后直接输入 {package_name} 即可。
Since MacWave 2.4, once a versionless link exists, MacWave keeps it pointing at the right version on its own:
从 MacWave 2.4 起,建立不含版本号的软链接后,MacWave 会自动维护它指向的版本:
--unlink to that install to skip this.--unlink 可跳过这一步。
A manual wave unlink {package_name} is remembered: a later uninstall will not re-create the link for that package.
手动 wave unlink {package_name} 过的软件包会被记住,之后的卸载不会重新为它建立链接。
Usage:
wave <command> [package] [flags]
Commands:
install Install a package (Latest Version)
uninstall Uninstall a package
list List installed packages
search Search for a package in the index
info Display detailed information about a package
selfupdate Update MacWave itself
link Link installed packages without a version number
unlink Remove those unversioned links
linkquery Show which version an unversioned link points to
Flags:
-h, --help Show help for any command
-V, --version Print version information
-v, --verbose Enable verbose output (show detailed logs)
Global Flags (can be used with any command):
-C, --continue Resume interrupted downloads (like curl -C -)
--proxy string Specify an HTTP/HTTPS proxy (e.g., http://127.0.0.1:8080)
--skip-ssl Skip SSL certificate verification (insecure)
--limit-rate string Limit download speed (e.g., 200K, 1M, 5M)
--ver string Install a specific version of the package
Special Flags:
wave install <pkgname>@<version> Download certain version(s) of a package
--unlink Leave the unversioned link alone (install / uninstall)
--all, -a Apply to every installed package (link / unlink / linkquery)
Unversioned Links:
wave link <name> Link a package to its highest installed version
wave linkquery <name> Show what <name> is linked to (e.g. 🌊 ffmpeg@9.0)
wave unlink <name> Remove that link
Uninstalling a version re-points the link to the next highest one, and removes
the link when no version is left. uninstall --unlink keeps the link as-is, and
refuses to run when that would leave the link pointing at the version you are
removing.
(Listed in alphabetical order)
(按字母顺序排列)
bat by David Peter
btop by Aristocratos
choma by opa334
dust by bootandy
eza by Christina Sørensen and the eza community
fd by David Peter
ffmpeg by FFmpeg Team
fileicon by Michael Klement
fzf by Junegunn Choi
htop by Hisham Muhammad and the htop team
ipsw by blacktop
jq by Stephen Dolan, Nicolas Williams, et al.
ldid by Jay Freeman (saurik) / Procursus Team
lsd by Abin Simon
ncdu by Yoran Heling
palera1n by palera1n Team
pandoc by John MacFarlane
rg by Andrew Gallant
tmux by Nicholas Marriott and contributors
tree by Steve Baker, Thomas Moore, et al.
trollrestore by JJTech (@JJTech0130)
wget by GNU Project
yq by Mike Farah
zoxide by Ajeet D'Souza
This project is licensed under the MIT License.
本项目基于 MIT 许可证 发布。
1. Users should carefully read the agreement and possible negative impacts before operation, and bear the consequences themselves. Using MacWave means that you have agreed to the above conditions. MacWave is not responsible for any losses caused to users by MacWave or its software packages.
2. MacWave (especially beta versions) may affect users due to code defects, security issues, etc. Users should be aware of and accept this risk, otherwise please do not use it. MacWave is not responsible for any losses caused to users' devices, etc.
3. MacWave only provides links to software packages, not the software packages themselves. MacWave is not responsible for any losses caused to users due to security vulnerabilities, malicious code, etc. of the software packages themselves. If users violate the software package agreement, MacWave is not responsible.
4. The software packages distributed by MacWave are for legitimate purposes such as learning and research only. They are prohibited for cracking, attacks, or other illegal activities. If losses are caused by improper use, MacWave is not responsible.
5. This agreement may be updated. If there is an update and you do not agree to the updated agreement, please delete MacWave. For deletion methods, please refer to the official website or official tutorial.
6. Please be sure to download the official software from the MacWave official website. If users download MacWave software from unofficial sources and suffer losses, MacWave is not responsible.
7. Users should read all agreements in full and agree before using MacWave and its software packages. Otherwise, please do not use MacWave and its software packages.
8. MacWave is completely free. Please do not trust any individuals or claims stating that MacWave charges a fee. If you suffer losses as a result, MacWave is not responsible.
9. MacWave does not sell any products. Any messages or posts about paid MacWave products are counterfeit. Any individuals or platforms selling MacWave are unofficial. MacWave is not responsible for any losses caused by this.
10. MacWave does not produce any physical products. Any physical products (such as books, comics, etc.) claiming to be related to MacWave are counterfeit. MacWave is not responsible for any losses caused by this.
11. MacWave only produces code, not unrelated products. Any e-books, audio-visual works, etc. claiming to be related to MacWave are counterfeit. MacWave is not responsible for any losses caused by this.
12. MacWave's consultation and feedback channels are completely free, and all feedback is processed equally in order. Any individuals or organizations claiming priority access to consultation or replies, especially those charging fees, are unofficial. MacWave is not responsible for any losses caused by this.
13. MacWave does not use subscriptions, one-time purchases, or in-app purchases. Any individuals or organizations claiming to help obtain in-app purchases, especially those charging fees, are unofficial. MacWave is not responsible for any losses caused by this.
14. MacWave's source code is fully open. Any individuals or organizations claiming to provide core code, especially those charging fees, are unofficial. MacWave is not responsible for any losses caused by this.
15. MacWave does not use a membership system. Any individuals or organizations claiming to offer memberships, especially those charging fees, are unofficial. MacWave is not responsible for any losses caused by this.
16. MacWave has only one version, and it is publicly available. There are no "Personal Edition", "Enterprise Edition", "Custom Edition", or similar variants. Any such claims are counterfeit. MacWave is not responsible for any losses caused by this.
17. The only official website is https://macwave.org. Any other websites are not official. MacWave is not responsible for any losses caused by this.
18. Using MacWave does not require registration, nor does it require activation codes, etc. Any individuals or organizations claiming to help register MacWave accounts, provide MacWave accounts, activation codes, etc., especially those charging fees, are unofficial. MacWave is not responsible for any losses caused by this.
19. Downloading MacWave may consume network data. Users should be aware of this and handle it properly. MacWave is not responsible for any losses caused by this.
20. Contacting MacWave official support or sending emails may consume network data. Users should be aware of this and handle it properly. MacWave is not responsible for any losses caused by this.
21. Official accounts are only registered on Twitter (X) and GitHub. Any accounts on other platforms are counterfeit. MacWave is not responsible for any losses caused by this.
22. The only official feedback email address is hi@macwave.org, but replies will be sent from trollresignertest1@outlook.com. Please do not send messages directly to trollresignertest1@outlook.com, and do not wait for reply emails from hi@macwave.org. Do not trust other email addresses claimed by others or organizations as official, and do not treat replies from other emails as official replies. MacWave is not responsible for any losses caused by this.
23. Users should use MacWave and its software packages in accordance with official guidelines. MacWave is not responsible for any losses caused by not following the guidelines, not reading the guidelines, or operational errors.
24. Users should download MacWave on eligible devices. For specific requirements, please refer to the official website. If losses are caused by violations, MacWave is not responsible.
25. Users should confirm their system environment, device model, etc., and verify from reliable sources (such as official documentation of other software) whether there are conflicts. If losses are caused by software conflicts, MacWave is not responsible.
26. Users are only permitted to run MacWave on their personal devices. MacWave is not responsible for any losses caused by running MacWave on others' devices, public devices, or devices without the owner's authorization.
27. MacWave is not responsible for any losses caused by running MacWave due to bugs in the operating system or virtual machine itself.
28. MacWave is not responsible for any losses caused by MacWave not running as expected due to unauthorized hardware modifications.
29. MacWave is not responsible for any losses caused by using it for unofficial purposes.
30. Private redistribution of MacWave and its software packages, modified versions, etc., is permitted, but the original author and official website must be credited, and others must be clearly informed that this version is a modified version. Distributing non-official products and software packages under descriptions such as "official version" is prohibited. Non-official versions of MacWave may also cause losses. If any of these violations cause losses, MacWave is not responsible.
31. Without the permission of the original author, you shall not misuse, reuse, register trademarks, or otherwise occupy the MacWave icon and its name, or occupy them in a way that sufficiently associates users with them.
32. MacWave is not responsible for any losses caused by incomplete downloads of executable scripts due to network fluctuations, etc.
33. MacWave is not responsible for any losses suffered by users due to force majeure.
34. MacWave has no cooperation with any company or profit-making organization. Any claims of cooperation with MacWave by companies or profit-making organizations are counterfeit. MacWave is not responsible for any losses caused by this.
1. 用户在操作前应仔细阅读协议及可能造成的负面影响,并自行承担后果,使用MacWave即视为已达成上述条件。MacWave及其软件包对使用者造成损失的,MacWave不承担责任
2. MacWave(尤其是beta版)可能由于自身代码缺陷、安全问题等对用户造成影响,用户应知悉并接受这一风险,否则请勿使用。对用户的设备等造成损失的,MacWave不承担责任
3. MacWave仅提供指向软件包的链接,不提供软件包本身。软件包因本身的安全漏洞、恶意代码等对用户造成损失的,MacWave不承担责任。用户如果违反软件包协议,MacWave不承担责任
4. MacWave分发的软件包仅供学习、研究等正当用途,禁止用于破解、攻击等行为。如果用于不正当用途造成损失,MacWave不承担责任
5. 本协议可能会有更新。如有,且你不同意更新后的协议,请删除MacWave,删除方法参见官网或官方教程
6. 请务必从MacWave官方网站下载正版软件。如果用户从非官方渠道下载的MacWave软件造成损失,MacWave不承担责任
7. 用户应完整阅读所有协议并同意后再使用MacWave及其软件包,否则请勿使用MacWave及其软件包
8. MacWave完全免费,请勿相信任何宣称MacWave收费的言论、人员等。因此蒙受损失的,MacWave不承担责任
9. MacWave不出售任何产品。任何有关MacWave收费产品的消息、帖子等均属伪造,任何出售MacWave的个人、平台等均为非官方,由此造成损失的,MacWave不承担责任
10. MacWave不产出任何实体产品。任何有关MacWave的实体产品(如书籍、漫画等)均属伪造。由此造成损失的,MacWave不承担责任
11. MacWave仅产出代码,不产出无关产品。任何有关MacWave的电子书、音像制品等均属伪造。由此造成损失的,MacWave不承担责任
12. MacWave的咨询和反馈平台完全免费,且按顺序平等处理所有反馈。任何宣称可以优先获得咨询、回复等,尤其是收取费用的的个人或组织均为非官方。由此造成损失的,MacWave不承担责任
13. MacWave不使用订阅制、买断制或内购,任何宣称可以帮忙获取内购的个人、组织等,尤其是收取费用的均为非官方。由此造成损失的,MacWave不承担责任。
14. MacWave的源代码全部公开。任何宣称可以提供核心代码的个人、组织等,尤其是收取费用的均为非官方。由此造成损失的,MacWave不承担责任。
15. MacWave不使用会员制。任何宣称可以申请会员的个人、组织等,尤其是收取费用的均为非官方。由此造成损失的,MacWave不承担责任。
16. MacWave只有一个版本,且公开。不存在"个人版""企业版""定制版"或类似内容,如有,均属伪造。由此造成损失的,MacWave不承担责任。
17. 官方唯一网址为https://macwave.org,其他网址均不是官方网址。因此造成损失的,MacWave不承担责任
18. 使用MacWave无需注册,也没有激活码等,任何宣称可以帮忙注册MacWave账号,提供MacWave账号、激活码等的个人、组织等,尤其是收取费用的均为非官方。由此造成损失的,MacWave不承担责任。
19. 下载MacWave可能会消耗网络流量,下载前须知悉并妥善处理,否则造成损失的,MacWave不承担责任
20. 向MacWave官方咨询、发送邮件等可能消耗网络流量,下载前须知悉并妥善处理,否则造成损失的,MacWave不承担责任
21. 官方账号仅在Twitter(X)、GitHub注册,其他平台如有则均为仿造。因此造成损失的,MacWave不承担责任
22. MacWave唯一反馈邮箱地址为hi@macwave.org,但回复你的邮箱地址为trollresignertest1@outlook.com。请勿直接向trollresignertest1@outlook.com发送信息,也不要等待hi@macwave.org的回复邮件。不要相信他人或组织等声称的其他邮箱地址,不要向其他邮箱视为官方邮箱发送邮件,也不要将其他邮箱的回复视为官方回复。由此造成损失的,MacWave不承担责任
23. 用户应按照官方指导使用MacWave及其软件包。对于不按照指导、不阅读指导、操作失误等原因导致损失的,MacWave不承担责任
24. 用户应在符合条件的设备下载MacWave,具体要求参见官网。如有违反导致损失,MacWave不承担责任
25. 用户应确认自己的系统环境、设备型号等信息,并从可信来源(如其他软件的官方说明等)确认是否冲突。如果由于软件冲突导致损失,MacWave不承担责任
26. 用户仅可在个人设备运行MacWave,在他人、公共设备或未经持有者授权设备运行MacWave造成损失的,MacWave不承担责任
27. 由于操作系统或虚拟机自身的Bug导致用户运行MacWave造成损失的,MacWave不承担责任
28. 由于私自改装硬件设备等原因导致MacWave未按预期运行并导致损失的,MacWave不承担责任
29. 用于非官方用途导致损失的,MacWave不承担责任
30. 允许私自分发MacWave及其软件包、修改版等,但必须注明原作者及官方网站,并明确告知其他人此版本为改版,禁止以"官方正版"等描述分发非正版产品及软件包。非官方版本可能也会造成损失。如果违反且造成损失,MacWave不承担责任
31. 未经原作者允许,不得以滥用、复用、注册商标等方式侵占MacWave图标及其名称,或以充分使用户联想、关联的方式侵占
32. 由于网络波动等原因导致软件可执行脚本下载不全并造成损失的,MacWave不承担责任
33. 由于不可抗力因素导致用户蒙受损失的,MacWave不承担责任
34. MacWave未与任何公司或营利组织等产生合作,如有公司或营利组织等声称与MacWave合作均属伪造。由此造成损失的,MacWave不承担责任