2014-04-23 13 views
8

Mam projekt, który będę musiał wdrożyć na komputerach klienckich systemu Windows, gdzie nie będzie można połączyć się z Internetem. Obecnie mam folder w D: \ NODE, który zawiera plik node.exe i npm.cmd oraz folder node_modules. Aby móc uruchomić węzeł z wiersza poleceń dodałem zmienną D: \ NODE do PATH.Jak zainstalować projekt NodeJS lokalnie bez połączenia z Internetem?

Mogę mieć większość modułów zainstalowanych lokalnie wewnątrz node_modules mojego projektu. Jednak jest jeden - węzeł-windows - który musi być zainstalowany globalnie do pracy.

Poniższe sugestie poniżej poszedłem do węzła-windows (zainstalowanego globalnie) i zapakowałem go (npm pack), który utworzył tarball. Następnie skopiowałem ten plik do mojego projektu i próbowałem zainstalować go na urządzeniu testowym na całym świecie: npm install -g node-windows-0.1.5.tgz

Widzę, że został zainstalowany w katalogu globalnym. Jednak kiedy próbuję uruchomić polecenie, które wykorzystuje ten moduł narzeka, że ​​nie może go znaleźć: Error: Cannot find module 'node-windows'

Kiedy listy modułów (npm list -g) jest wyraźnie tam na liście ...

co masz myśleć? I dziękuję.

Odpowiedz

12

Możesz instalować pakiety w systemie bez połączenia z Internetem, pakując je przy użyciu wbudowanej funkcji w npm. W ten sposób moduły węzłów zostaną poprawnie zainstalowane.

  1. Utwórz pakiet package.json.
  2. W swoim package.json, wymień wszystkie potrzebne moduły pod numerem bundledDependencies.
  3. run npm install, aby zainstalować pliki węzłów przed ich upakowaniem.
  4. Utwórz archiwum tar przy użyciu npm pack.
  5. Skopiuj archiwum tarball na komputer bez połączenia z Internetem.
  6. Zainstaluj moduły za pomocą npm install <filename>.

Aktualizacja

chodzi o komentarze, to wygląda jak na całym świecie zainstalowano modułów węzła nie znaleziono.

Spróbuj użyć polecenia npm link (docs on npm link):

  1. cd yourAppFolder
  2. npm link node-windows
+0

Dobrze, dziękuję! Spróbuję teraz, a następnie zaakceptuję twoją odpowiedź. –

+0

Witaj ... Nadal mam problemy - instalacja pakietu modułów na całym świecie nie działa :(Zobacz zaktualizowane pytanie. Wszelkie przemyślenia? Dziękuję ... –

+0

Próbowałem również ustawienie NODE_PATH w zmiennych env jak zasugerowałem gdzieś indziej ... –

1

1 - W systemie z dostępem do Internetu zainstalować moduł z tym poleceniem:

npm install [module name] 

2 - przejdź do% użytkownika profil% \ AppData \ Roaming \ npm \ node_modules [nazwa modułu] \ (np.G c: \ Użytkownicy \ Janson \ AppData \ Roaming \ npm \ node_modules \ grunt-cli)
3 - Run npm pack
4 - należy prowadzić w [nazwa modułu] -xyztgz pliku
5 - uruchomienie w npm i -g [module name]-x.y.z.tgz system offline

Powiązane problemy