我正在使用 Drush 4.2,并且正在尝试将文件从开发服务器同步到我的本地计算机。我的 aliases.drushrc.php 位于本地 drupal 安装的根目录中,其中包含以下内容:
$aliases['local'] = array(
'root' => '/Users/christian/Sites/site-root',
'path-aliases' => array(
'%files' => 'sites/default/files'
),
);
$aliases['dev'] = array(
'root' => '/var/www/vhosts/some-domain.com/subdomains/dev/httpdocs',
'remote-host' => 'some-domain.com',
'remote-user' => 'root',
'path-aliases' => array(
'%drush' => ' /var/tools/drush/drush',
'%files' => 'sites/default/files',
),
);
作为测试,我尝试从本地 drupal 根目录运行它:
drush rsync @dev:%files ~/Desktop/test/
我希望 @dev:%files 扩展到远程文件路径,但我得到:
您将从 /Volumes/MacintoshHD/Users/christian/Desktop/test/ 销毁数据并替换为来自 @dev:/Volumes/MacintoshHD/Users/christian/Sites/site-root/%files 的数据
有任何想法吗?
更新:我还发现当我尝试命令时:
drush dd @dev:%files
我明白了
未找到目标“@dev:%files”。
更新 2
我发现问题似乎来自 aliases.drushrc.php 文件的位置。我把它放在我正在处理的站点的 drupal 根目录中。我发现如果我把它移到 ~/.drush/ ,那么一切都很完美。
不过,我更愿意将其置于源代码控制之下。我试着把它放在网站/默认/但它和以前有同样的问题。我会将赏金奖励给任何告诉我将这个文件放在哪里的人,以便它位于源代码控制的站点根目录下。