2013-02-25 22 views
13

Utworzono moduł węzła ze skryptem kompilacji, który zostanie wywołany po instalacji. Skrypt budujący klonuje repozytorium git i kopiuje niektóre pliki do innego folderu. Problem: na npm zainstalować skrypt nie otrzyma wystarczających uprawnień i pojawia się następujący błąd:instalacja npm - jak uruchamiać skrypty budujące z wystarczającymi uprawnieniami?

sh: ./build.js: Permission denied

Jak mogę dać kompilacji skryptów wystarczających uprawnień wykonywać swoje zadania?

Chcę, aby użytkownicy mogli po prostu wykonać npm install mymodule, a skrypt kompilacji następnie wykonuje swoje zadanie w dowolnym systemie.

Wszelkie pomysły?

Odpowiedz

28

Czy masz flagę x na build.js?

chmod +x build.js 

I pierwsza linia skryptu powinien powiedzieć, jak wykonać skrypt z powłoki:

#!/usr/bin/env node 
+1

aaa! Z dokumentacji przykładam myślałem, że skrypty z końcowym ".js" automatycznie zostaną wykonane przez węzeł. Ale ponieważ są one również wywoływane jako skrypt i dlatego potrzebują pozwolenia na wykonanie, jest to oczywiste. Dzięki. Zamiast wspomnianych 2 dodatków, mógłbym po prostu napisać "install": "node build" w pliku package.json. –

Powiązane problemy