2014-06-16 24 views
40

Moja instalacja węzeł jest pod adresem:węzeł i shebang: pomoc wykonywania poprzez linię poleceń

/usr/local/bin/node

i Dodałem shebang:

#!/usr/local/bin/node

do początku pliku i nadano plikowi aplikacji węzła uprawnienia 755, ale gdy próbuję uruchomić:

> ./my-app

mam stary:

-bash: ./my-app: No such file or directory

Co robię źle?

+1

moje przypuszczenie byłoby, że jesteś po prostu w złym katalogu. 'ls -l./my-app' powinno pomóc. –

+0

Ups, tak naprawdę, to dlatego, że miałem .js na końcu mojego pliku: usunięcie pliku z "my-app.js" do "my-app" pozwoliło mi uruchomić go z '> ./ my-app'A – asking

Odpowiedz

113

shebang węzeł jest:

#!/usr/bin/env node 

Nie wszystkie systemy miejsce węzeł w tym samym miejscu, jego możliwe, że masz lokalizację nieprawidłowo. Znajdzie je wszystkie.

Source

Also

+0

Dziękuję, początkowo miałem węzeł, jak już wspomniałeś, ale nie byłeś pewien, czy muszę skierować na wyjście '> który węzeł'. Mój problem polegał na tym, że miałem .js na moim pliku. Więc pomogłeś wyjaśnić. – asking

+0

@asking powinieneś być w stanie mieć część '.js' na niej – secretformula

+0

Hmm, wtedy moje drapanie głowy trwa: Mój plik został nazwany" my-app.js ", mam thebang' #!/Usr/bin/węzeł env i węzeł znajdują się na mojej ścieżce w katalogu "/ usr/local/bin/node". Jak tylko usunąłem ".js", Mac OS uznał go za binarny, jak sądzę, i mogłem go wykonać jako taki. Ale teraz znowu jestem zdezorientowany - par na kurs. – asking