Bagaimana cara menginstal dan menggunakan "make" di Windows?

127

Saya mengikuti instruksi dari seseorang yang repositori-nya saya kloning ke komputer saya. Yang saya inginkan sederhana: dapat menggunakan makeperintah sebagai bagian dari pengaturan lingkungan kode. Tetapi saya menggunakan Windows, dan saya mencari secara online hanya untuk menemukan file make.exe untuk diunduh, make-4.1.tar.gzfile untuk diunduh (saya tidak tahu apa yang harus saya lakukan selanjutnya), dan hal-hal tentang mengunduh MinGW (untuk GNU; tetapi setelah menginstalnya, saya tidak menemukan penyebutan "make").

Saya tidak menginginkan kompiler GNU atau hal-hal terkait; Saya hanya ingin menggunakan "make" di Windows. Tolong beritahu saya apa yang harus saya lakukan untuk mencapai itu.

Terima kasih sebelumnya!

Hashem Elezabi
sumber
1
Hanya menginstal maketidak mungkin menyelesaikan masalah Anda. Banyak Makefile ditulis untuk sistem mirip Unix dan akan meminta Anda untuk menginstal sejumlah besar utilitas tambahan (termasuk kompiler yang didukung jika proyek melibatkan kode yang dikompilasi) seperti Cygwin, atau hanya beralih ke platform seperti WSL jika Anda benar-benar tidak dapat membebaskan diri Anda sendiri dari Windows sepenuhnya.
tripleee

Jawaban:

159

makeadalah perintah GNU sehingga satu-satunya cara untuk mendapatkannya di Windows adalah menginstal versi Windows seperti yang disediakan oleh GNUWin32 . Atau Anda dapat menginstal MinGW dan kemudian melakukan:

copy c:\MinGW\bin\mingw32-make.exe c:\MinGW\bin\make.exe

atau buat tautan ke eksekusi aktual, di PATH Anda. Dalam kasus ini, jika Anda memperbarui MinGW, tautannya tidak dihapus:

mklink c:\bin\make.exe C:\MinGW\bin\mingw32-make.exe

Pilihan lainnya adalah menggunakan Chocolatey . Pertama, Anda perlu menginstal pengelola paket ini. Setelah terinstal, Anda perlu menginstal simlpy make:

choco install make

Opsi terakhir adalah menginstal Windows Subsystem for Linux (WSL) , jadi Anda akan memiliki distribusi Linux pilihan Anda yang disematkan di Windows 10 tempat Anda dapat menginstal make, gccdan semua alat yang Anda butuhkan untuk membangun program C.

Eduardo Yáñez Parareda
sumber
1
Terima kasih! Saya tidak tahu bahwa make adalah perintah GNU. Saya memeriksa jalur yang Anda berikan dan menemukan make.exe tetapi di jalur yang sama (C: \ MinGW \ msys \ 1.0 \ bin \ make.exe). Saya menambahkan ini ke variabel PATH dan berhasil!
Hashem Elezabi
2
Cara yang sederhana akan membuat symlink: mklink C:\bin\make.exe C:\MinGW\bin\mingw32-make.exe. Jadi di masa depan jika Anda mengupgrade mingw Anda, tautannya akan tetap utuh.
kumarharsh
1
Hanya menggunakan MSYS2 saya tidak dapat menggunakan mklink. MSYS2 pacmandapat menginstal make pacman -S make, yang tidak berfungsi dengan benar . Sebaliknya, mingw32-make.exesudah hadir di msys64/mingw64/bin. Mungkin itu dikirimkan dengan gcc. Aku bingung kenapa tidak dipanggil begitu saja make.exe. Saya baru saja menyalinnya ke make.exe.
Neonit
2
Mungkin berguna untuk menyebutkan bahwa Visual Studio mengirimkan utilitas 'make' -nya sendiri nmake, lihat dokumen . Ini dapat digunakan dari prompt perintah VS, tetapi tentu saja Anda dapat menambahkannya ke jalur. Namun perlu dicatat bahwa fungsinya cukup terbatas dibandingkan dengan GNU make, dan dokumentasinya hampir tidak ada ...
jmon12
1
@notacorn semacam itu, tetapi Anda dapat mengakses map "Windows" dari keduanya. Git bash dengan / c, WSL dengan / mnt / c.
Eduardo Yáñez Parareda
186

GNU make tersedia di coklat.

  • Instal chocolatey dari sini .

  • Kemudian choco install make,.

Sekarang Anda dapat menggunakan Make on windows.
Saya sudah mencoba menggunakannya di MinGW, tetapi seharusnya berfungsi di CMD juga.

Vasantha Ganesh K.
sumber
31
Solusi IMO paling sederhana pada 2019.
My Stack Overfloweth
Apakah ada alasan mengapa ini tidak berhasil di Bash? @vasantha
pengguna3614648
Catatan: Anda mungkin perlu menyetel proxy yang benar menggunakanchoco config set proxy ADDRESS:PORT
weshouman
Ada juga informasi jika Anda tidak suka bagaimana cokelat membutuhkan sesi admin PowerShell: github.com/lukesampson/scoop/wiki/Chocolatey-Comparison
Jonathan Landrum
18

Jawaban yang diterima adalah ide yang buruk pada umumnya karena yang dibuat secara manual make.exeakan bertahan dan berpotensi menimbulkan masalah yang tidak terduga. Itu benar-benar merusak RubyInstaller: https://github.com/oneclick/rubyinstaller2/issues/105

Alternatifnya adalah memasang make via Chocolatey (seperti yang ditunjukkan oleh @Vasantha Ganesh K)

Alternatif lain adalah menginstal MSYS2 dari Chocolatey dan menggunakan makedari C:\tools\msys64\usr\bin. Jika maketidak diinstal secara otomatis dengan MSYS2 Anda perlu menginstalnya secara manual melalui pacman -S make(seperti yang ditunjukkan oleh @Thad Guidry dan @Luke).

ini adalah desainku
sumber
3
Saya menginstal ini menggunakan Chocolatey tetapi tidak ada make.exe di C:\tools\msys64\usr\bin??
Rosdi Kasim
1
Anda dapat menemukan pacman di folder itu, setelah itu gunakan langkah 3 dari @thad
Luke
8

Jika Anda menggunakan Windows 10, itu dibangun ke dalam fitur subsistem Linux. Cukup luncurkan prompt Bash (tekan tombol Windows, lalu ketik bashdan pilih "Bash di Ubuntu pada Windows"), cdke direktori yang ingin Anda buat dan ketik make.

FWIW, drive Windows ditemukan di /mnt , misalnya C:\drive ada /mnt/cdi Bash.

Jika Bash tidak tersedia dari menu mulai Anda, berikut adalah petunjuk untuk mengaktifkan fitur Windows tersebut (khusus Windows 64-bit):

https://docs.microsoft.com/en-us/windows/wsl/install-win10

Stefan
sumber
4
Subsistem Linux tidak tersedia di Windows 10 Home.
Martin Grey
Saya telah menggunakan Windows Subsystem untuk Linux (khususnya, Ubuntu 20.04 LTS, diunduh dari Microsoft Store) di Win10 Home ver.1809 saya selama dua bulan terakhir tanpa masalah apa pun. Berbicara tentang make, itu tersedia untuk saya langsung dari dalam jendela Terminal Windows bahkan tanpa meluncurkan bash terlebih dahulu. Rapi.
Igor Soudakevitch
5

Unduh make.exe dari situs resmi mereka GnuWin32

  • Di sesi Download, klik Paket lengkap, kecuali sumber .

  • Ikuti petunjuk instalasi.

  • Setelah selesai, tambahkan <installation directory>/bin/ke variabel PATH.

Sekarang Anda dapat menggunakan make in cmd.

Manu S Pillai
sumber
Bisakah Anda membantu saya cara mengatur direktori ke variabel PATH.
sial
3

Alternatif lain adalah jika Anda sudah menginstal minGW dan menambahkan folder bin ke variabel lingkungan Path, Anda dapat menggunakan "mingw32-make" daripada "make".

Anda juga dapat membuat symlink dari "make" ke "mingw32-make", atau menyalin dan mengubah nama file. Saya tidak akan merekomendasikan opsi sebelumnya, mereka akan berfungsi sampai Anda melakukan perubahan pada minGW.

Persike
sumber
Dapatkah Anda menentukan apa yang Anda maksud dengan "opsi sebelumnya"?
Jona
1

Saya bisa menyarankan pendekatan langkah demi langkah.

  1. Kunjungi GNUwin
  2. Unduh Program Penyiapan
  3. Ikuti instruksi dan instal GNUWin. Anda harus memperhatikan direktori tempat aplikasi Anda diinstal. (Anda akan membutuhkannya nanti1)
  4. Ikuti petunjuk ini dan tambahkan make ke variabel lingkungan Anda. Seperti yang saya katakan sebelumnya, sekarang saatnya mengetahui di mana aplikasi Anda diinstal. FYI: Direktori default adalah C:\Program Files (x86)\GnuWin32\.
  5. Sekarang, perbarui PATH untuk memasukkan direktori bin dari program yang baru diinstal. Contoh khas dari apa yang mungkin ditambahkan ke jalur adalah:...;C:\Program Files (x86)\GnuWin32\bin
Jaguarfi
sumber
0

Salah satu solusi yang mungkin berguna jika Anda ingin menggunakan cmder emulator baris perintah. Anda dapat menginstal penginstal paket dengan tepat. Pertama kita menginstal chocately di command prompt windows menggunakan baris berikut:

@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
refreshenv

Setelah chocolatey terinstal, perintah choco dapat digunakan untuk menginstal make. Setelah terinstal, Anda perlu menambahkan alias ke /cmder/config/user_aliases.cmd. Baris berikut harus ditambahkan:

make="path_to_chocolatey\chocolatey\bin\make.exe" $*

Make kemudian akan beroperasi di lingkungan cmder.

MATTHEW SILVEUS
sumber