Java

Error message gradlew command not found

19 September 2026 · 9 min read

Error message gradlew command not found

Encountering the dreaded “gradlew: command not found” error message can be a frustrating experience, especially when you’re trying to build or run an Android project. This error typically indicates that your system can’t locate the Gradle wrapper script, gradlew, which is essential for managing Gradle builds within a specific project. This script ensures that everyone on the project uses the correct Gradle version, preventing compatibility issues. Whether you’re a seasoned developer or just starting your Android development journey, understanding and resolving this error is crucial for a smooth development workflow. This comprehensive guide will walk you through the common causes of this error and provide step-by-step solutions to get your builds back on track. We’ll explore various troubleshooting techniques, from checking file permissions to configuring environment variables, ensuring you have the knowledge to tackle this issue head-on.

Understanding the “gradlew: command not found” Error

The “gradlew: command not found” error message arises when your operating system can’t find the gradlew executable. The gradlew script is a wrapper that comes with most Android projects (and other Java/Kotlin projects using Gradle) to ensure a consistent build environment. Think of it as a project-specific launcher for Gradle. It downloads and uses the correct Gradle version specified in the project’s gradle-wrapper.properties file. This eliminates the need for developers to manage different Gradle versions globally on their machines, preventing conflicts and ensuring reproducibility of builds.

Several factors can contribute to this error. The most common culprits include: the gradlew file is missing from the project directory, the file doesn’t have execute permissions, or the current working directory in your terminal is not the project root. It’s also possible that your system’s PATH environment variable isn’t configured to include the project’s root directory (although this is less common with gradlew since it’s meant to be project-local). Understanding these potential causes is the first step towards resolving the issue efficiently. Without the gradlew script, your project can’t reliably use Gradle to build, test, and deploy your application.

For example, imagine you’re collaborating on an Android app with a team. Some team members might have Gradle 7 installed, while others have Gradle 8. Without gradlew, building the project would be a nightmare of version conflicts and dependency issues. The gradlew script ensures everyone is on the same page, using the exact Gradle version specified for that project, promoting a stable and predictable development process. According to Gradle’s official documentation, using the Gradle Wrapper is the recommended approach for managing Gradle versions in your projects Gradle Wrapper Documentation.

Troubleshooting Steps to Resolve the Error

When faced with the “gradlew: command not found” error message, several troubleshooting steps can help pinpoint and resolve the problem. Let’s examine the most effective solutions:

  1. Verify the gradlew File Exists: Navigate to your project’s root directory in your terminal. Use the command ls -al (or dir on Windows) to list all files and directories, including hidden ones. Ensure that gradlew and gradlew.bat (for Windows) are present. If they’re missing, you may need to clone the project again or restore them from a backup.
  2. Grant Execute Permissions: On Unix-like systems (Linux, macOS), the gradlew file needs execute permissions. Use the command chmod +x gradlew in your terminal while in the project’s root directory. This makes the script executable.
  3. Check Your Current Directory: Ensure that you are running the gradlew command from the project’s root directory. If you’re in a subdirectory, the system won’t find the gradlew script. Use the cd command to navigate to the correct directory.
  4. Invalidate Caches and Restart: Sometimes, IDEs like Android Studio can cache outdated information. Try invalidating caches and restarting your IDE. In Android Studio, you can do this via “File” -> “Invalidate Caches / Restart…”.
  5. Re-import the Project: If the above steps don’t work, try re-importing the project into your IDE. This can help refresh the project’s configuration and resolve any inconsistencies.

By following these steps systematically, you can usually identify and fix the root cause of the “gradlew: command not found” error. Remember to double-check each step and ensure that you’re executing the commands in the correct directory.

A common mistake is to assume Gradle is globally installed and accessible. While you can install Gradle globally, the gradlew script is designed to avoid this dependency, making your project self-contained and easier to share. For example, if you’re using a CI/CD system like Jenkins, the gradlew script ensures that the build environment is consistent across all builds, regardless of the globally installed Gradle version on the Jenkins server. According to a Stack Overflow survey, incorrect file permissions are a frequent cause of this error Stack Overflow.

Common Causes and Their Solutions

Let’s delve deeper into the common causes of the “gradlew: command not found” error message and provide more specific solutions for each:

  • Missing gradlew File: As mentioned earlier, the most straightforward cause is simply that the gradlew file is missing. This can happen if it was accidentally deleted, not included in the initial project setup, or excluded from version control. To fix this, ensure the file is present in your project’s root directory. If you’re using Git, check if it was accidentally excluded in the .gitignore file.
  • Incorrect File Permissions: On Unix-like systems, file permissions determine who can read, write, and execute a file. If the gradlew file doesn’t have execute permissions, the system won’t be able to run it. Use the chmod +x gradlew command to grant execute permissions. This is a very common issue, especially after cloning a project from a repository.
  • Incorrect Working Directory: The terminal must be in the project’s root directory when you run the gradlew command. If you’re in a subdirectory, the system won’t find the script. Use the cd command to navigate to the correct directory. This seems simple, but it’s a frequent oversight, especially when working with multiple projects or deeply nested directories.

A featured snippet-optimized paragraph: To resolve the “gradlew: command not found” error message, first ensure the gradlew file exists in your project’s root directory. Then, use the command chmod +x gradlew on Unix-like systems to grant execute permissions. Finally, verify that your terminal’s current directory is the project’s root before running any gradlew commands.

These are the three most common causes, but other less frequent issues can also trigger the error. For example, a corrupted Gradle installation (if you’re relying on a global Gradle installation) or conflicts with other build tools can sometimes be the culprit. In such cases, try reinstalling Gradle or temporarily disabling other build tools to see if that resolves the issue.

Infographic here
Best Practices for Avoiding Future Errors -----------------------------------------

Preventing the “gradlew: command not found” error message in the future involves adopting some best practices for managing your Gradle projects:

  • Always Use the Gradle Wrapper: Avoid relying on a globally installed Gradle version. The gradlew script ensures that everyone on the project uses the correct Gradle version, preventing compatibility issues.
  • Include gradlew in Version Control: Make sure the gradlew and gradlew.bat files, as well as the gradle/wrapper directory, are included in your version control system (e.g., Git). This ensures that everyone on the team has access to these essential files. Also be careful with your commit messages.
  • Regularly Update Gradle: Keep your Gradle version up-to-date to benefit from the latest features, performance improvements, and security patches. Use the gradlew wrapper –gradle-version command to update the Gradle wrapper.
  • Check File Permissions After Cloning: After cloning a project from a repository, always check and set the correct file permissions for the gradlew file.

These best practices will help you maintain a stable and consistent build environment, reducing the likelihood of encountering the “gradlew: command not found” error message and other Gradle-related issues. Furthermore, using a consistent development environment is key to speeding up the development process, and reduces time spent debugging the environment.

Adopting these practices not only prevents errors but also improves collaboration and maintainability. When everyone on the team is using the same Gradle version and has the correct file permissions, the development process becomes much smoother and more efficient. For instance, consider a scenario where a new developer joins the team. By using the Gradle Wrapper and including all necessary files in version control, the new developer can quickly set up their environment and start contributing without encountering version conflicts or missing dependencies. According to Google’s Android developer documentation, using the Gradle Wrapper is a fundamental aspect of modern Android development Android Gradle Plugin.

FAQ - Frequently Asked Questions

**Q: What is the Gradle Wrapper?**
A: The Gradle Wrapper is a script (`gradlew` for Unix-like systems and `gradlew.bat` for Windows) that comes with most Gradle projects. It ensures that everyone on the project uses the correct Gradle version, preventing compatibility issues.
**Q: Why am I getting "gradlew: command not found"?**
A: This error usually means your system can't find the `gradlew` script. This can be due to the file being missing, incorrect file permissions, or running the command from the wrong directory.
**Q: How do I fix "gradlew: command not found" on macOS/Linux?**
A: First, ensure the `gradlew` file exists in your project's root directory. Then, use the command `chmod +x gradlew` to grant execute permissions. Finally, verify that your terminal's current directory is the project's root.
**Q: Should I install Gradle globally?**
A: It's generally recommended to use the Gradle Wrapper instead of installing Gradle globally. The wrapper ensures that everyone on the project uses the same Gradle version, avoiding compatibility issues.
From ensuring the Gradle wrapper is present and executable to meticulously checking your working directory, resolving the "gradlew: command not found" error is often a matter of methodical troubleshooting. By embracing the best practices outlined, like consistently utilizing the Gradle wrapper and vigilantly managing file permissions, you not only address the immediate issue but also cultivate a more robust and collaborative development environment. Now, armed with this knowledge, revisit your project, apply these solutions, and witness a smoother, more efficient build process. Consider sharing this guide with your team to empower them to resolve similar issues independently and fostering a culture of proactive problem-solving. **Question & Answer :** I am working on a Java project with [Gradle Wrapper](https://docs.gradle.org/current/userguide/gradle_wrapper.html#sec:using_wrapper) (`gradlew`). I use Ubuntu Linux as my OS. When I run "gradle" it runs, and gives me information. But when I run "gradlew", it outputs as:

No command ‘gradlew’ found, did you mean:
Command ‘gradle’ from package ‘gradle’ (universe)
gradlew: command not found"

I did my research, I have the JDK, and I did sudo apt-get install gradle. How can I fix it?

The error is:

gradlew clean jpackage 

Output:

bash: gradlew: command not found... 

Linux and macOS

As noted in the comments, just running

./gradlew 

worked for me. Adding the ./ tells it to look in the current directory since it isn’t in the path.

If it stills doesn’t work, run (as commented by Fadi)

chmod +x gradlew 

And then try again

Windows PowerShell

.\gradlew