Drush is command line utility for installing, maintaining and troubleshooting Drupal platform. This post logs the steps for installing drush on Mac(OS X 10.7.5)/Linux Ubuntu and Windows as well
Linux & Mac
Install Drush
To install the Dev or the most current version for Drush:
1. Clone Drush git repository
sudo git clone https://github.com/drush-ops/drush.git /root/tools/drush
2. Put Drush executable in the search path:
sudo ln -s /root/tools/drush/drush /usr/local/bin/drush
If you don’t know the search locations, then look it up variable $PATH that lists all the search locations for executables:
echo $PATH
Drush is using composer to deploy, so lets install composer as following:
sudo curl -sS https://getcomposer.org/installer | sudo php
this will download the composer. It displays the location that you will need next step
mv dir/downloaded/composer.phar /usr/bin/composer
Here, you move the composer into a path that looks for executables as specified by $PATH, so it can be found. At last, lets install drush
cd /path/to/drush composer install
DONE! Test it by running ‘drush –v’ which should display current version
Upgrade Drush From Legacy Install
1. Clone Drush git repository
sudo git clone https://github.com/drush-ops/drush.git drush
2. Find where the executable is currently used:
which drush
This will display path of current drush executable. Go to that directory, rename or delete it and create new link to the new version of Drush cloned in Step 1 as following
sudo ln -s /Users/margots/DevTools/drush/drush drush
Here, the path is to the new version of drush cloned in step 1
Done!!
Old Way
Prerequisites
- wget -or-
- unzip -or-
- git -or-
Step-1: Installing Prerequisites.
Verify Unzip installed by running ‘unzip’ from command line. If it isn’t installed then:
sudo apt-get install unzip
Verify wget is installed by running ‘wget’ from command line. If it isn’t installed then:
curl -O http://ftp.gnu.org/gnu/wget/wget-1.14.tar.gz sudo tar -xzf wget-1.14.tar.gz cd wget-1.14 sudo ./configure --with-ssl=openssl sudo make sudo make install
Stept-2: Installing Drush with PEAR
To verify PEAR(PHP Extension and Application Repo) is installed type ‘pear version’ in command line. If it doesn’t exist then:
For Mac:
cd /usr/local sudo wget http://pear.php.net/go-pear.phar sudo php -d detect_unicode=0 go-pear.phar sudo pear upgrade --force pear sudo pear upgrade --force Console_Getopt Console_Table sudo pear upgrade-all
For Ubuntu:
sudo apt-get install php-pear sudo pear upgrade --force pear
Step-3: Installing Drush
To install drush:
sudo pear channel-discover pear.drush.org sudo pear install drush/drush which drush drush
If you see the following message – ‘Drush needs to download a library from [..]Console_Table-1.x.x.tgz[..]’ with error, then:
sudo rm -Rf ~/.drush
Upgrade drush
To upgrade drush:
sudo pear upgrade drush
Windows
Prerequisites
- cygen
Installing Drush
Run Windows installer for Drush listed at http://drush.ws/drush_windows_installer
Configure Drush for Cygen
To run drush from Cygen, we mount the path and then create shell alias. To mount path to drush in the Cygen, add the following in the /etc/fstab
C:\ProgramData\Drush\drush.php /cygdrive/c/ProgramData/Drush/drush.php binary,posix=0,user 0 0
Next, we create alias – drush by adding the following in .bashrc in your home dir
alias drush='/cygdrive/c/ProgramData/Drush/drush.php'
Afterwards, reload Cygen shell and run ‘drush –version’. It should display the drush version which is good way to verify if drush is working
Troubleshooting
1. Tip
If you run into any issues while trying to install some package, make sure you run ‘sudo apt-get update’
2. Unable to load autoload.php. Drush now requires Composer in order to install
This happen after upgrading drush. Solution is to install composer as following:
sudo curl -sS https://getcomposer.org/installer | sudo php
this will donwload the composer. It displays the location that you will need next step
mv dir/downloaded/composer.phar /usr/bin/composer
Here, you move the composer into a path that looks for executables as specified by $PATH, so it can be found. At last, lets install drush
cd /path/to/drush composer install
The This should solve the problem
MS-DOS style path detected: C:\path\drush.php
Preferred POSIX equivalent is: /cygdrive/c/path/drush.php
You have to mount and then refer the drush in the Cygen. See step – Configure Drush for Cygen above
Warning: The lock file is not up to date with the latest changes in composer.json. You may be getting outdated dependencies. Run update to update them.
For details, please, see post – . To fix it, run:
composer update --lock
This will update the lock file to get rid of the error message,so you can proceed with the installation
[RuntimeException] vendor does not exist and could not be created
This message is given when the drush directory(or dir you try to run the composer installer) doesn’t have write permissions. To fix this:
sudo chmod -R 777 DIR
Unable to send e-mail drupal
To turn off drupal sending email add the following line to the php.ini
sendmail_path = /bin/true
[UnexpectedValueException] Could not parse version constraint ^2.6.3: Invalid version string
To solve this error, update the composer currently installed:
composer self-update
the requested PHP extension pcntl is missing from your system drush
The error came when installing drush via composer “composer install”. To solve, I deleted the composer.lock and rerun the installer “composer install –dev”
References
http://duntuk.com/how-install-drush-github-after-drupal-project-removal
https://drupal.org/node/1674222