您在這裡

使用 drush 自動更新 module

dennys's 的頭像
dennys 在 2008-12-20 (週六) 12:12 發表

drush 這個模組不錯, 可以自動幫你下載新版 module 以及更新. 把 drush 在 sites/all/modules 解開後, 在 drupal 的 root directory 寫一個小小的 script, 如下:


/path/php -c /path/etc/php.ini ./sites/all/modules/drush/drush.php -l http://example.com/ $*

之後, 執行下列指令, 就會把有新版的模組列出來, 選擇 Y, 就會幫你 download 以及解開了. 不過 core 的部份不支援, 得自己手動處理.


./drush.sh pm update

另外, drush 還會把舊版的 module 給備份到 root directory 下面的 backup/module/[日期時間]/[模組].

還有就是, 如果 sites/all/modules 下面原來就有檔案了, 譬如說 sites/all/modules/devel-6.x-1.x-dev.tar.gz 已經存在了, 這時候 drush 透過 wget 下載的檔案名稱會自動改名成 devel-6.x-1.x-dev.tar.gz.1, 然後就會出錯了. 已經開 issue 去反應了.

Druah 2.0
在 2.0 以後, 方法改變了, 現在已經不分版本, 也不需要安裝, 放在任何一個目錄都可以.
這裡有個 flash 的教學文件. 另外就是, 1.x 版的要移掉, 不然會打架.

另外, 命令也不太一樣了, 可以用 help 看一下說明.

之前在 Drupal 7 上面用 drush 一直不太穩, 有時成功有時失敗, 查了一下, 有人說不要把 drush 和 drupal 放在同一個目錄 (http://drupal.org/node/1181572), 就試了一下, 就都正常了, 連 Drupal core 都可以 upgrade.

不過因為搬家了, 所以要多指定一下目錄, 如下

/path/to/drush/drush -r /www/drupal7 -l example.com pm-update