ไม่พบคำสั่ง gradlew?


123

ฉันกำลังทำงานกับโปรเจ็กต์ Java กับ gradlew ฉันใช้ Ubuntu Linux เป็นระบบปฏิบัติการของฉัน เมื่อฉันเรียกใช้ "gradle" มันจะทำงานและให้ข้อมูลแก่ฉัน แต่เมื่อฉันเรียกใช้ "gradlew" มันจะแสดงผลเป็น "ไม่พบคำสั่ง" gradlew "คุณหมายถึง: Command 'gradle' จาก package 'gradle' (universe) gradlew: command not found"

ฉันทำวิจัยฉันมี jdk และฉันทำ sudo apt-get install gradle ฉันไม่รู้อะไรเลย


51
./gradlewวิ่ง ไม่ได้อยู่บนเส้นทางของคุณ แต่เป็นไฟล์ปฏิบัติการที่มีอยู่ในไดเรกทอรีรากของโครงการที่คุณชำระเงิน
mkobit

2
อ่านเอกสารเกี่ยวกับกระดาษห่อ gradle ที่docs.gradle.org/current/userguide/gradle_wrapper.html
ditkin

คำตอบ:


101

ต้องสร้าง Gradle wrapper ลองเรียกใช้gradle wrapper --gradle-version 2.13อย่าลืมเปลี่ยน 2.13 เป็นหมายเลขเวอร์ชัน gradle ของคุณ หลังจากเรียกใช้คำสั่งนี้คุณจะเห็นสคริปต์ใหม่ที่เพิ่มลงในโฟลเดอร์โครงการของคุณ คุณควรจะรัน Wrapper ./gradlew buildเพื่อสร้างโค้ดของคุณได้ โปรดดูคู่มือนี้สำหรับข้อมูลเพิ่มเติมhttps://spring.io/guides/gs/gradle/


176

ลินุกซ์ / MacOS

ตามที่ระบุไว้ในความคิดเห็นเพียงแค่ทำงาน

./gradlew

ทำงานให้ฉัน การเพิ่มคำสั่ง./ให้ดูในไดเร็กทอรีปัจจุบันเนื่องจากไม่ได้อยู่ในเส้นทาง

Windows PowerShell

.\gradlew

26
ขั้นแรกให้ลอง "chmod + x gradlew" จากนั้น "./gradlew" หากไม่ทำงาน
Fadi

สำหรับ macOS catalina "sudo bash ./gradlew" ใช้ได้กับฉัน
daniel

53

การเรียกใช้คำสั่ง bash นี้ใช้ได้กับฉันโดยการเรียกใช้chmod 755 gradlewเนื่องจากบางครั้งคุณสมบัติของไฟล์เปลี่ยนไปเมื่อย้ายจากระบบปฏิบัติการหนึ่งไปยังอีกระบบหนึ่ง (Windows, Linux และ Mac)


14
แน่นอน755? คุณไม่ต้องการให้ใครเขียนทับไฟล์ปฏิบัติการที่เชื่อถือได้
David Knipe

7
chmod 777 ... คลาสสิค
vilpe89

1
โปรดอย่าแนะนำ 'chmod 777' ไฟล์ปฏิบัติการไม่ควรเขียนได้ทั่วโลก
Kelly Setzer

19

ปัญหาเดียวกันเกิดขึ้นกับฉัน ... ฉันตรวจสอบสิทธิ์ไฟล์ wrx ด้วย:
$ls -l ./gradlew-> -rw-rw-r - (ไม่มีสิทธิ์ดำเนินการ)

ดังนั้นฉันจึงใช้คำสั่ง$chmod +x ./gradlewและปัญหานี้ได้รับการแก้ไข


15

จาก Mac

ไม่มีอะไรทำงานนอกจากคำสั่งต่อไปนี้

chmod 777 gradlew จากนั้น

./gradlew


gradlew ต้องการการอนุญาตบน linux / mac ซึ่งทำงานให้ฉันหลังจาก chmod 777 gradlew ในรูทของโปรเจ็กต์ของฉัน
Faisal

1
'chmod 777' ทำให้โลก gradlew สามารถเขียนได้ นี่เป็นปัญหาด้านความปลอดภัยที่สำคัญ ใช้ 'chmod 555' แทน
Kelly Setzer

ผมขอแนะนำ chmod 755 (-rwxr-xr-x) มากกว่า 777
notStan


11

นอกจากนี้คือ @suraghch

Linux / MacOS ./gradlew สะอาด

Windows PowerShell . \ gradlew clean

Windows cmd gradlew สะอาด


ขอบคุณ! หลังจากหลายชั่วโมงของการซุ่มซ่อนจากสภาพแวดล้อม macos สิ่งนี้ได้รับการแก้ไข: ./gradlew clean
gpbaculio

6

สำหรับผู้ใช้ Ubuntu (linux): การทำ"bash ./gradlew build"ใช้งานได้ แต่" ./gradlew build"ไม่ได้ผล

สำหรับฉันปัญหาเกิดจากระบบไฟล์ NTFS ลินุกซ์ไม่อนุญาตให้เรียกใช้สคริปต์จาก NTFS ลองย้ายรหัสจาก NTFS ไปยังพาร์ติชัน linux จากนั้น./gradlew buildควรใช้งานได้


ใช้ได้กับ RedHat 7 ด้วย
G_V

Pop_OS! ที่นี่ทำงาน แม้ว่าระบบไฟล์ของฉันจะเป็นค่าเริ่มต้น ext4
Kirill Starostin

3

สิ่งแรกคือคุณต้องรันงาน gradle ที่คุณกล่าวถึงสำหรับ wrapper นี้ เช่นgradle wrapperหลังจากรันคำสั่งนี้ให้ตรวจสอบไดเร็กทอรีของคุณสำหรับไฟล์ gradlew และ gradlew.bat gradlew เป็นไฟล์เชลล์สคริปต์และสามารถใช้ใน linux / Mac OS gradlew.bat เป็นไฟล์แบตช์สำหรับ windows OS จากนั้นเรียกใช้

./gradlew build(linux / mac) มันจะทำงาน.


1

หากคำตอบที่ทำเครื่องหมายว่าถูกต้องใช้ไม่ได้นั่นเป็นเพราะคุณต้องระบุว่าตัวเองเป็นผู้ใช้ขั้นสูง

sudo gradle wrapper --gradle รุ่น 2.13

มันได้ผลสำหรับฉัน


1

หากคุณใช้ VS Code อย่างกระพือปีกคุณจะพบมันในโฟลเดอร์แอพของคุณภายใต้โฟลเดอร์ android:

C: \ myappFolder \ android

คุณสามารถเรียกใช้สิ่งนี้ในเทอร์มินัล:

./gradlew signingReport

1

คุณต้องมี Gradle gradlewเสื้อคลุมที่มีในท้องถิ่นก่อนที่จะใช้ เพื่อสร้างสิ่งนั้น

gradle wrapper # --gradle-version v.xy

หรือส่งผ่านเวอร์ชัน gradle อย่างชัดเจน ขั้นตอนนี้จะสร้างไบนารี gradlew จากนั้นคุณควรจะทำได้

./gradlew build

0

ฉันใช้แนวคิด intellj และใน windows ในประเภทเทอร์มินัล: gradlew.bat run มันใช้งานได้สำหรับฉัน


1
Windows เป็นที่แตกต่างกัน ด้วยเหตุผลบางประการมันมักจะแก้ไขไฟล์ปฏิบัติการ.ราวกับว่ามันอยู่ในเส้นทางแม้ว่ามันจะไม่ชัดเจนมากในเส้นทางก็ตาม
Guss

0

สวัสดี @Hayden Stites ฉันประสบปัญหาเดียวกัน แต่หลังจากพยายามบางครั้งฉันพบว่ามันเกิดขึ้นเพราะฉันพยายามสร้าง build ใน git bash แทนที่จะเป็น CMD ด้วยการเข้าถึงของผู้ดูแลระบบ หากคุณสร้างบิลด์ด้วยพรอมต์คำสั่งให้รันในฐานะผู้ดูแลระบบจะได้รับการสร้าง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.