Install Drush inside your Drupal project with Composer, then run it from that project’s vendor/bin directory. SSH into the VPS, confirm the project’s PHP and Drupal versions are compatible with the Drush major version you intend to use, run composer require drush/drush from the directory containing composer.json, and verify the site with vendor/bin/drush status.
Antihost offers Linux VPS plans with full root access, unlimited traffic on a 1 Gbps port and a 14-day free trial.
This project-local approach keeps the Drush version tied to the Drupal codebase you deploy. It also prevents a server-wide binary from silently using the wrong command set or bootstrapping a different site. The sections below show how to install, target single-site and multisite installations, run common administration tasks, use aliases for remote environments, and recover from the failures most often seen on a VPS.
As an Amazon Associate I earn from qualifying purchases.
Free tools Windows power users keep installed
One-click scans. No signup required.
What Drush is and why a VPS installation is project-local
Drush is Drupal’s command-line administration tool. Depending on the installed major version and the extensions enabled by the project, it can clear caches, apply database updates, export or import configuration, install modules and themes, generate boilerplate code, and create dummy content. Drush commands run through Drupal’s bootstrap process, so they need the correct codebase, settings, database connection, and site URL.
The supported installation model is Composer-based. You add Drush as a dependency of the Drupal project rather than treating it as an unrelated operating-system package. Composer places the executable at vendor/bin/drush. Running that path from the project root invokes the version selected in the project’s dependency lock file.
#1 Best Overall
- BLUE LIGHT BLOCKING GLASSES: Our blue light glasses for women boast UV400 protection, blocking harmful blue rays from computer screens. With these bluelight glasses women, you can enjoy gaming, reading, or watching TV with no worries of eye strain.
- EYE RELIEF: Our blue light glasses are engineered to reduce blurry vision or strain caused by prolonged screen time. These womens blue light glasses aid in better sleep by preventing blue light from disrupting your natural sleep cycle, helping you fall asleep faster and enjoy a more restful night's sleep, making them the perfect christmas present.
- COMFORTABLE: Crafted from durable material, our trendy blue light glasses for woman or blue light glasses men ensure long-lasting comfort. The high-transmittance lenses accessories, gamer gifts for men, help keep your eyes relaxed. Perfect stocking stuffers, gifts for gamers men, christmas gifts for men, halloween costumes.
- LIGHTWEIGHT: These clear blue light glasses feature a lightweight frame, meaning they’ll stay comfy for long-term wear. Perfect as blue blockers glasses for women or mens blue light glasses, these non-prescription fake glasses for men can be worn throughout the day. The blue light blocking glasses women feature polycarbonate HD lenses, which are anti-reflective and restore true color.
- WORRY-FREE PURCHASE: If you experience any issues, our support team is ready to assist you quickly. These are the perfect costume glasses for cosplay dressing up.
A command named drush can still be convenient, but convenience must not hide which project is being used. A project-local binary is explicit. A PATH entry or the optional Drush Launcher can dispatch to a project-local binary, but you should still check the working directory, root, URI, and status output before changing a production site.
Prerequisites to check before installing
SSH and filesystem access
You need terminal access to the VPS and an account that can read the Drupal codebase, read its configuration, and run PHP and Composer. If the web server user owns the files, use an approved deployment or operations account rather than changing ownership casually. Drush must be able to read the same project files and environment values that Drupal uses.
A Composer-managed Drupal project
Find the directory that contains the Drupal project’s composer.json. A typical layout has the Drupal web root in a subdirectory such as web, while composer.json and vendor are one level above it. Do not assume the document root is the Composer root; inspect the actual project layout first.
PHP, Drupal, and Drush compatibility
Check the current Drush compatibility table before adding the dependency. The compatibility values available for this guide list Drush 13 with PHP 8.3 or newer and compatibility with Drupal 10.2 and Drupal 11. Drush 12 is listed with PHP 8.1 or newer and older Drupal compatibility. These values can change as Drupal and PHP releases move, so verify the live table at the time you install or upgrade.
Check the server’s PHP CLI version, not only the PHP-FPM version used by the web server:
php -v
composer --version
If the CLI reports an older PHP release than your web server, Composer and Drush will use the CLI release. Resolve that mismatch before installation. Composer may also be configured to use a platform PHP version in composer.json; that constraint must agree with the PHP binary actually running Composer.
Operational safeguards
- Confirm that the latest database and files backup is restorable before database updates, configuration imports, or synchronization.
- Know whether the command will affect a staging copy, a live site, or every site in a multisite installation.
- Run deployment changes through the same release process used for the Drupal codebase, rather than modifying a disposable copy and forgetting to commit the dependency files.
Install Drush step by step on the VPS
- Connect over SSH. Use the account approved for Drupal maintenance and move to the Composer project root, the directory containing
composer.json.ssh user@example-vps cd /path/to/drupal-project - Confirm the working directory. Check that the expected
composer.jsonis present and that the project’s PHP CLI version meets the Drush major version’s requirement.pwd ls composer.json php -v - Add Drush to the project. Run the documented Composer command from that directory:
composer require drush/drushComposer resolves a compatible Drush release and its dependencies, updates
composer.json, and writes the exact dependency set tocomposer.lockwhen the project uses a lock file. - Run the site-local executable.
vendor/bin/drush statusThe status command should report details such as the Drupal root, site URI, database connection, Drupal version, and Drush version. Treat those values as a routing check: if the URI, root, or database is not the intended site, stop and correct the target before running an administrative command. This article does not assume a successful run on your server; the output must be checked on the VPS itself.
- Commit and deploy the dependency change. In a version-controlled project, commit the changed
composer.jsonandcomposer.lockand deploy the resulting dependency set consistently to each environment. Do not copy a vendor directory from an unrelated release.
For repeatable deployments, run Composer in the release or build process and make the resulting project-local binary available to the release that contains the matching Drupal code. Installing a different Drush version globally does not replace the dependency declared by the project.
Rank #2
- WINDEX GAMING WIPES: effortlessly clean all your gaming gear and gaming electronics in one easy step with our new Windex Gaming Wipes
- AMMONIA FREE: our ammonia-free formula is safe to use on all of your favorite gaming equipment like consoles, headsets, controllers, screens, keyboards, and more
- PRE-MOISTENED WIPES: each wipe instantly removes dust, dirt, and stubborn smudges and fingerprints leaving a streak-free shine
- ANTI-STATIC: great for cleaning and wiping down your gaming gear and electronics leaving behind no visible residue
- COMPACT RESEALABLE PACKAGE: store your pack of Windex Gaming Wipes anywhere in your home for whenever a quick and easy wipedown is needed
Use the correct command form and discover available commands
The documented general form is:
drush [options] <command> [argument1] [argument2]
When working from the project root, substitute vendor/bin/drush for drush unless you have deliberately configured a safe launcher or PATH entry. Drush’s command names, aliases, and options vary between major versions, so inspect the binary installed in this project instead of relying on a command remembered from an older server.
vendor/bin/drush help
vendor/bin/drush topic
vendor/bin/drush list
vendor/bin/drush help cr
help gives command-specific usage, topic opens longer conceptual documentation, and list shows commands available from the installed Drush and Drupal extensions. Run these commands on the target server before putting a command into an automation script.
Common Drush administration tasks
These are representative workflows. Run them from the Drupal project root and replace the executable path if you use a verified launcher.
| Task | Command | What to verify |
|---|---|---|
| Check bootstrap and environment | vendor/bin/drush status |
Drupal root, URI, database, Drupal version, and Drush version identify the intended site. |
| Rebuild caches | vendor/bin/drush cr |
Run after code, module, theme, or configuration changes when the site requires a cache rebuild. |
| See pending database updates | vendor/bin/drush updatedb:status |
Review the listed updates and the release that introduced them before applying changes. |
| Apply database updates | vendor/bin/drush updatedb |
Take a restorable backup and follow the project’s deployment order first. |
| Export configuration | vendor/bin/drush config:export |
Confirm the export directory and review the resulting configuration changes before committing them. |
| Import configuration | vendor/bin/drush config:import |
Ensure the import is intended for this environment; it can change enabled modules, fields, views, and site settings. |
The Drupal User Guide describes Drush as a tool for generating boilerplate code, installing modules and themes, clearing cache, and creating dummy content. The exact command set and option names depend on the installed Drush and Drupal versions, so use vendor/bin/drush list and vendor/bin/drush help <command> as the authority for your installation.
Make Drush target the right Drupal site
Run from the project root whenever possible
From the Composer project root, Drush can normally discover the codebase and its Drupal root. Running the same command from a random directory can leave Drush unable to find the project or can select an unintended installation if several projects share a server.
Specify a root and URI explicitly
When the working directory is not the project root, provide the Drupal root and the site URI. The exact path and hostname are environment-specific:
vendor/bin/drush --root=/path/to/drupal-project/web --uri=https://example.com status
--root points to the Drupal web root. --uri selects the site context, which matters for generated links, domain-based settings, and multisite installations. Use the real scheme and hostname configured for the target environment; do not substitute a public production hostname when you intend to operate on staging.
Recommended Free Tools
Rank #3
- Ergonomic & Adjustable Design: Fight "text neck" and improve your posture. Designed for comfort, it offers an adjustable height (7.1in-8.5in) (1.4in adjustable range) and angle (5°-85°) Please note: cell phone stand is only 9 inches tall—the length of a standard pencil
- Without blocking subtitles Perfect for office desk Tiktok Face Time Zoom video—this is the ultimate kitchen desk essential for phones! Perfect viewing experience while reducing neck back strain, A must-have for gamers streamers desk, and anyone who values both style and support!
- Sleek & Stable Design fits Otterbox Case: Say goodbye to bent cables, tangles, and tip-overs! LISEN’s stylish adjustable desk phone holder features a built-in charging hole and smart cable management, keeping your phone secure and your workspace clutter-free cool gadgets for men
- ANTI-SLIP DESIGN free hands: The under 10.00 items easy gadgets back and the bottom of this kitchen essentials for women are fully covered by anti-skid silicone, which LISEN stand up desk decor can provide maximum protection device from any scratches and slides
- Your Perfect Viewing Companion:If your product arrives damaged or breaks within 365 days, reach out to LISEN for a quick and hassle-free solution. Struggling with assembly, like tightening the screw? We’ve got your back! Your experience matters to us. (Product including: phone Holder stand*1, screw*1, hexagon screwdriver*1, specification*1)
Use the DRUSH_OPTIONS_URL environment variable
For a shell session or automation job that repeatedly needs one URL, set DRUSH_OPTIONS_URL instead of repeating the option:
export DRUSH_OPTIONS_URL=https://staging.example.com
vendor/bin/drush status
vendor/bin/drush cr
Keep environment files protected because URLs can reveal internal hostnames and because the rest of the shell environment may contain credentials or other sensitive settings. Unset the variable when switching environments in the same session.
Understand multisite selection
A multisite codebase can share one Drupal installation while using different databases and site directories. The URI is the selector. If Drush cannot infer the site, combine an explicit root with the exact site URI, then confirm the selected database and site in status before making changes. Never infer the target solely from the VPS hostname.
Use site aliases for staging and production
Drush aliases give environments stable names beginning with @. An alias contains the connection and site-targeting details needed by the project, so it must be configured and reviewed by the team that manages those environments. Alias definitions can include a remote host, Drupal root, URI, SSH connection, and other options; their exact location and format depend on the project’s Drush setup.
Do these 3 things before closing this tab:
1Clear out junk files and repair common Windows errors2Fix the driver behind crashes, sound loss and screen glitches3Repair Windows errors before they cause bigger problemsThe official usage examples illustrate these patterns:
drush @staging updatedb
drush rsync @staging:%files/ @live:%files
drush sql:sync --structure-tables-key=custom @live @self
The first runs pending database updates through the staging alias. The second synchronizes files from staging to live. The third synchronizes a database while using the project’s custom structure-table definition to exclude cache tables. These are operationally significant actions, not harmless demonstrations: inspect the resolved alias, destination, include/exclude rules, and backup state before executing them.
Review an alias before a destructive command
- Display or inspect the alias definition using the project’s documented Drush alias tools.
- Confirm the SSH host, Drupal root, URI, database, and file paths resolve to the intended environment.
- Check which direction a synchronization will run. A typo in source and destination can overwrite the newer copy.
- Use a dry run or confirmation option when the installed command provides one, then take a fresh backup.
- Run the operation during a maintenance window and verify the destination with
drush status.
Do not copy alias examples unchanged into production. The names @staging, @live, and @self only have meaning after your project defines them.
The Tool Desk
Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Rank #4
- Easy Installation: Our gaming lights have been designed to enhance your entertainment experience. Simply position the led light bar next to your TV or game console to create a game room environment with ease. They come with USB power and a 60 inch cord for direct mounting and mobility
- Audio Syncing & Extensive Mode: The built-in high-sensitivity music sensor allows you to sync the TV led lights to your favorite music. Lights react and move to the beat of music, film and game audio, creating an incredible immersive sound and light experience – and all without the need for an additional hub. You can choose from 64+ patterns, including strobe, illusion, jump, energy, gradient, running, chasing, fluttering mode etc. Each mode can be applied to different scenes
- 64+ Chasing IC+RGB & W Effect: The independent control design of IC+RGB and white all-in-one multifunctional rgbw led bar lights monitor backlight allows you to easily switch the led lights for desk between IC+RGB and white to enjoy a variety of lighting effects, you can choose white lighting mode with high brightness for better illumination when working, etc. Choose IC+RGB lighting mode when you need to create an entertaining atmosphere for the light show, 16 million colours of Color changing rgb light bar let you dance to the beat and create a dynamic party atmosphere
- Dynamic and Dimmable Lights: 1%-full brightness free brightness adjustment gives you the flexibility to adjust dimmable led light bar for room decorations or a variety of occasions
- USB Powered: USB light bars for room can be powered by powernank, usb charger, TV, Monitor, laptop PC mainframe, making behind TV led lighting bar easy to install in any location.TV led lights are powered by the TV usb interface / PC mainframe, can be turned on/off synchronously with TV / PC
Choose between vendor/bin/drush, PATH, and the Launcher
Project-local binary
vendor/bin/drush is the least ambiguous choice. It uses the Drush version Composer installed for the current project. Use it in deployment scripts, cron jobs, and runbooks unless there is a documented reason to do otherwise.
A temporary PATH entry
You can add the project’s binary directory to PATH for the current shell:
export PATH="$(pwd)/vendor/bin:$PATH"
drush status
This is convenient only while you remain in, or deliberately reference, the intended project. A permanent PATH entry that points to one site can cause an operator working on another site to run the wrong Drush binary. If you use PATH, document it and verify with command -v drush and drush status.
The optional Drush Launcher
The optional Drush Launcher is designed to find and dispatch to a project-local Drush. It can make drush available across projects, but it does not remove the need to choose the correct directory, root, and URI. Treat the launcher as a dispatcher, not as a replacement for Composer dependencies. Confirm which project it selected with drush status before every environment-changing operation.
Crashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minutePC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11Compatibility and version maintenance
| Drush line | PHP compatibility stated for this guide | Drupal compatibility stated for this guide | Composer and invocation model | Support status |
|---|---|---|---|---|
| Drush 13 | PHP 8.3 or newer | Drupal 10.2 and Drupal 11 | Install in the Drupal project with Composer and invoke the project-local binary or a launcher that dispatches to it. | Check the current Drush support policy; a fixed end-of-life date is not established here. |
| Drush 12 | PHP 8.1 or newer | Older Drupal compatibility; exact range must be checked in the current table | Composer-managed project installation; use the project-local binary. | Check the current Drush support policy for the release you maintain. |
| Drush 8 | Not stated in the current compatibility summary | Legacy Drupal compatibility | Historical documentation may describe older installation methods; do not use it as the current workflow for a Composer-managed Drupal project. | Legacy; current support status is not stated here. |
Pin the major version appropriate for the project in Composer when your release policy requires predictable upgrades. Commit composer.json and composer.lock, review dependency changes, and deploy the locked set consistently. Before upgrading Drush, read the compatibility table and run the project’s test, update, and cache-rebuild procedures on staging.
Do not mix instructions from historical Drush 8 documentation with a current Drupal 10 or 11 project. A command that existed under an older major version may have a different name, option, or behavior now. Ask the installed binary:
vendor/bin/drush --version
vendor/bin/drush list
vendor/bin/drush help <command>
Troubleshoot installation and bootstrap failures
composer require drush/drush fails on PHP requirements
Read the Composer error and compare it with php -v. The CLI PHP binary may be older than the web server’s PHP, or another dependency may impose a stricter constraint. Install or select a supported CLI PHP version through the VPS provider’s documented method, then rerun Composer. Do not bypass the constraint merely to force an incompatible Drush release.
Best Value
- Compatible with Wide Screens - To ensure compatibility with the dual monitor mount, your each monitor must meet three conditions at the same time: First, computer screens size range: 13 to 32 inches. Second, screen weight range: 4.4 to 19.8 lbs. Third, the back of the monitor screen must have VESA mounting holes with a pitch of 75x75mm or 100x100mm.
- Regarding the compatibility with desks - Your desk must meet three conditions at the same time: First, desk material: Only wooden desks are recommended, plastic or glass desks cannot be used. Second, desk thickness range: 0.59" - 3.54". Third, the bottom of the desk should not have any cross beams or panels, as this will interfere with installation. We recommend carefully checking that your desk and monitors meets all above conditions before purchasing.
- Dual C-Clamp Hold - Worried your dual monitors might wobble or slip? Our upgraded base uses a larger platform plus a dual C-clamp structure to lock the dual monitor arm firmly to your desk. Each arm safely keeps your screens steady while you type, click and game—no shaking, no sliding, just a clean and secure setup you can trust every day. It also provides Grommet Mounting installation choice, both options ensure stable and secure fixation for your 0.59" - 3.54" desk.
- Full-Motion Adjustment For Comfortable View - Pull the screen closer when you’re deep in a spreadsheet, push it back to watch videos, or rotate to portrait for coding — moving everything smoothly with just one hand. The monitor stand offers +85°/-50° tilt, ±90° swivel and 360° rotation. Raise your monitor up to 15.75″ to support a healthy sitting posture. Whether you’re working from home, gaming through the night, or switching between video calls and documents, getting the screens to your natural line of sight helps relieve neck, shoulder and back strain so you can stay focused longer with less fatigue.
- Keep Your Desk Organized: By lifting both screens off the desktop, this dual monitor stand opens up valuable space for your keyboard, notebook, docking station or a simple, clutter-free work area. Built-in cable management guides wires along the arms, keeping cords out of sight and out of the way. Enjoy a tidy, modern workstation that looks as good as it feels to use.
vendor/bin/drush does not exist
Confirm that Composer completed successfully and that you are in the directory containing the project’s vendor directory. A deployment that omitted production dependencies will not contain the binary. Re-run the project’s documented Composer installation step, such as installing from the committed lock file, rather than copying an arbitrary vendor directory.
Drush reports that it cannot find Drupal
Move to the Composer project root or provide --root explicitly. If the codebase is multisite, add the correct --uri. Check path permissions and confirm that the Drupal root contains the expected core files.
Status shows the wrong site or database
Stop immediately. Check the current directory, alias, --root, --uri, and DRUSH_OPTIONS_URL. Read the status output’s root, URI, and database values, then correct the selector and run status again. A successful bootstrap of the wrong site is still a failure.
A command is unknown or an option is rejected
Use vendor/bin/drush list and vendor/bin/drush help <command> on that server. The command may belong to a different Drush major version, require a Drupal module, or use a renamed option. Update scripts only after confirming the syntax supported by the installed dependency.
Remote alias or synchronization fails
Validate SSH access independently, then inspect the alias’s host, user, root, URI, and file or database paths. Confirm that both environments have compatible code and that the account has the required permissions. For file or database synchronization, verify source and destination direction and restore from backup if an operation produced an unexpected result.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
A safe repeatable VPS routine
- SSH into the approved maintenance account.
- Change to the directory containing the target project’s
composer.json. - Check CLI PHP, Composer, and the Drush compatibility requirements.
- Install or update the dependency with the project’s Composer workflow.
- Run
vendor/bin/drush statusand confirm root, URI, database, Drupal, and Drush versions. - Use
help,topic, andlistto confirm command syntax for this installation. - Back up before
updatedb, configuration imports, or remote synchronization. - Run the smallest command that accomplishes the task, then verify the site and logs.
- Commit dependency changes and deploy the locked Composer set consistently across environments.
With that routine, Drush remains tied to the Drupal project it is meant to administer, while explicit roots, URIs, and reviewed aliases prevent a VPS operator from changing the wrong site.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




