我搜索了相关问题,但仍未找到此问题的答案。
我正在使用 Wordmove 尝试在 WordPress 的本地环境和实时环境之间推送/拉取数据库(在 OSX 上的 AMPPS 上运行)。自从 WP-Sync-DB 的分支停止为我工作并且现在似乎被放弃以来,我又重新尝试了 Wordmove 方法。这是在 WordPress 环境之间迁移数据库的最佳免费方法。
运行wordmove pull -e runcloud --db
时遇到的错误是sh:mysqldump:找不到命令
我正在使用 Zsh,并且已经添加了一个符号链接(symbolic link)到我可以在系统上找到的唯一 mysqldump:alias mysqldump='/Applications/AMPPS/mysql/bin/mysqldump --host=localhost -uroot -proot '
在 .zprofile 中。它也包含在我的 .bash_profile 中。如果没有该行,我只会得到 mysqldump not found
(通过注释该行并需要在每次更改后重新启动 iTerm 进行验证)。
所以现在如果我输入which mysqldump
,我会得到mysqldump: aliased to/Applications/AMPPS/mysql/bin/mysqldump --host=localhost -uroot -proot
但是 Wordmove 的错误仍然存在。我在 Wordmove Github 上查询过,作者说如果配置 mysqldump,这将是一个错误。
免责声明:我根本不是 CLI 方面的专家,只知道如何使用 Wordmove 等工具和通过 SSH 的基本工具来配置 Gulp 环境。我选择 Zsh 是因为它让很多东西更容易使用和查看,但任何类型的配置通常都会让我摸不着头脑!
我在这里错过了一些明显的东西吗?也许符号链接(symbolic link)设置不正确?
最佳答案
我在这里看到两个概念问题:
(1) 您无法导出别名。当前 Zsh 中定义的别名不会自动在子 Zsh 中可见。
(2) 您的错误消息显示
sh:mysqldump:找不到命令
这意味着在查找 mysqldump 时甚至不涉及 Zsh。这是一个正在运行的 Posix shell 脚本。
因此,您要使用的每种机制都必须与 Posix shell 配合使用,这意味着您的 PATH 中需要一个名为 mysqldump
的程序(合适的 shell 脚本),然后该程序调用原始 mysqldump
使用您想要的参数。
确保设置 PATH,以便在/Applications/AMPPS/mysql/bin 中的版本之前找到您的私有(private)版本的 mysqldump
。
关于找不到 mysqldump (Wordmove)。如何在 Zsh 中正确设置符号链接(symbolic link)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58932755/