2013-05-26 12 views
8

Próbuję skonfigurować Derby.js dla węzła na moim komputerze z systemem Windows. Zgodnie z instrukcjami konfiguracji Derby.js, w celu wykorzystania coffeescript, muszę wykonać następujące czynności:Polecenie "Make" dla systemu Windows - możliwe opcje?

$ cd ~ 
$ derby new --coffee first-project 
$ cd first-project 
$ make 

To działało, aż do „make” części, co oczywiście wymaga programu make. Pobrałem plik make.exe, który powinien go uruchomić, ale mówi mi, że nie może go znaleźć. Otworzyłem plik make w edytorze tekstów, aby sprawdzić, czy ścieżka, którą wskazał, istnieje. Zastanawiam się, czy musi odwoływać się do ścieżki do pliku inaczej, ponieważ znajduje się w systemie Windows i jest uruchamiany w wierszu polecenia? Czy ktoś wie, co mogę zrobić? Wszystko, co mogę wymyślić to ustawienie na maszynie wirtualnej Linuksa, a następnie skopiowanie plików, ale jest to trochę uciążliwe.

+0

Czy wypróbowałeś [marka GnuWin32] (http://gnuwin32.sourceforge.net/packages/make.htm)? – refi64

+0

tak, dlaczego? @ kirbyfan64sos – User093203920

+0

Byłem ciekawy. Nie mogę myśleć, dlaczego to nie zadziała. Jeśli uważasz, że Cygwin jest zbyt duży, zawsze możesz wypróbować MinGW i MSYS. – refi64

Odpowiedz

9

Jak się okazało, samodzielny numer make nie był wystarczający; potrzebujesz Cygwina.

make to program interpretujący plik Makefile i wykonujący polecenia w pliku Makefile. Ale jakie są te polecenia? Jeśli spojrzysz na plik makefile, zobaczysz polecenia w stylu UNIX-a, które są dostępne w systemach Linux, Mac OS X lub Cygwin, ale nie są dostępne w ogólnie dostępnych systemach Windows. Dlatego po prostu chwytanie make było niewystarczające.

5

Więc skończyłem pobieranie Cygwin i użyłem systemu "make", który przyszedł z nim. Działało idealnie! Naprawdę nie mam pojęcia, dlaczego polecenie "make" GnuWin32 nie działa, ale przypuszczam, że byłoby to pomocne dla tych, którzy napotykają ten sam problem w przyszłości.

3

Wdrożenie Make firmy Microsoft to nmake. Nie sądzę, że jest tak zaawansowany, jak wiele Make implementacji z różnych Unices, ale powinien działać w przypadku prostych plików Makefile.

0

Jeśli szukasz możliwych opcji, faktycznie mam taki, który będzie używać PowerShell. "Make" wykonuje polecenia w pliku Makefile, dlatego użyłem PowerShell do wykonania podobnych zadań. Należy jednak pamiętać, że zrobiłem to tylko dla mojego projektu Django. Przeczytaj poniżej, jeśli Cię to interesuje, a oto przykład:

  1. Utworzono plik PowerShell podobny do initial.ps1.
  2. Wstaw zawartość, którą widzisz lub czego oczekujesz w pliku Makefile. Oto przykład użyłem dla mojego projektu Django:

# Bypass the execution policy (do this if needed) 
Set-ExecutionPolicy RemoteSigned 

# Setup variables 
$proj = "proj" 
$app = "app" 

# Starting Virtual Environment 
virtualenv $proj 
cd .\$proj 
.\Scripts\activate 

# Install project 
pip install --upgrade pip 
pip install django 

# Starting app 
django-admin startproject $app 
cd .\$app 

# Build the project and the app 
python .\manage.py makemigrations 
python .\manage.py migrate 
python .\manage.py createsuperuser 
  1. Otwórz CMD i uruchom PS1.

Jest to bardzo przydatne przynajmniej dla mnie, więc nie muszę wpisywać wszystkich tych poleceń w kółko podczas tworzenia nowych projektów. Mam nadzieję że to pomoże.

Powiązane problemy