2013-06-19 11 views
6

Sklonowałem jakiś pakiet npm z github i umieściłem paczkę w folderze lokalnym, np.Jak zaktualizować pakiet npm z lokalnego folderu

c:\git\package 

Użyłem "npm install -g", aby zainstalować pakiet, który działa naprawdę dobrze.

npm install -g c:\git\package 

Jednak, gdy dokonałem pewnych zmian w kodzie pakietu, np. sprawdził jakiś oddział. Nie mogłem użyć "aktualizacji npm", aby zaktualizować zainstalowany pakiet. Próbowałem:

npm update -g 

i

npm update -g packagename 

lub

npm update -g folderpath 

Ani pracował. Muszę użyć "npm install", aby ponownie zainstalować go w celu aktualizacji, co zmarnuje czas na ponowne zainstalowanie wszystkich zależności.

Dlaczego npm obsługuje tylko instalację z folderu, ale nie aktualizację z folderu? Jeśli to pomoże, co powinienem zrobić? Dzięki.

+1

Jeśli się nie mylę, to właśnie jest to "npm link". – chesles

Odpowiedz

8

Zamiast z katalogu lokalnego spróbuj npm install, spróbuj npm link, który tworzy globalnie zainstalowane dowiązanie symboliczne do katalogu.

Jak stwierdzono in the docs, jest to proces dwuetapowy:

  1. W katalogu pakietu:

    $ npm link 
    

    Tworzy dowiązania do bieżącego folderu w globalnym katalogu instalacyjnym NPM za.

  2. gdzieś indziej, gdzie chcesz użyć modułu:

    $ npm link <pkgname> 
    

    Spowoduje to utworzenie dowiązania symbolicznego w node_modules/ folderze Twojego projektu do instalacji globalnej.

+0

Dobrze, zadziałało jak czar! Jeszcze jedno pytanie, jeśli po prostu potrzebuję używać pakietu na całym świecie, wystarczy uruchomić "npm link" w katalogu pakietów, prawda? – bigbearzhu

+0

@bigbearzhu yep to powinno działać – chesles

+0

I jak to zautomatyzować? Kiedy nowy współpracownik sprawdza repozytorium, uruchamia się bezpośrednio w wyjątek, ponieważ link nie został jeszcze utworzony .. prawda? Niedopuszczalne rozwiązanie dla nas wtedy ^^ Cóż, próbuję go s preinstalować skrypt ... – jebbie

Powiązane problemy