2

我正在使用 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/ ,那么一切都很完美。

不过,我更愿意将其置于源代码控制之下。我试着把它放在网站/默认/但它和以前有同样的问题。我会将赏金奖励给任何告诉我将这个文件放在哪里的人,以便它位于源代码控制的站点根目录下。

4

1 回答 1

2

您可以在 drushrc.php 配置文件中设置别名路径。

如果未设置,则 drush 将在这些位置(按此顺序)搜索别名文件。

  • /etc/drush
  • drush 安装文件夹
  • $HOME/.drush
  • 在您的 drupal 站点的站点文件夹中

查看自述文件以获取更多详细信息。

顺便说一句:您的“本地”别名声明中缺少逗号。修改为:

'%files' => '网站/默认/文件',

于 2011-02-28T18:26:39.503 回答