Problem z odpaleniem projektu w Angularze

0

Hej
Nie jestem studentem informatyki ani nie mam dużego doświadczenia w webówce - programowałem hobbystycznie w Pythonie tylko. Od jakiegoś czasu uczę się więcej programowania. Chciałem trochę robić strony, ale mam problem z Angularem.
Kolega wysłał mi swój bardzo spory projekt do nauki, dość stary - 3 lata temu pisany.

Zainstalowałem node.js i chciałem zainstalować zależności do projektu za pomocą npm install

Niby się instaluje do czasu, aż wywali się na jakiejś jednej zależności, tak jakby link do źródła w pliku package-lock.json był przestarzały (to co jest po "resolved":) Wywala brak odpowiedzi od tej lokalizacji

Znajomy pojechał na urlop, a ja nie chcę tracić czasu póki mam wolne, czy mógłby ktoś poradzić jak zainstalować tą jedną bibliotekę?

  1. Czy da się np. pobrać ją na lokalny komputer w formacie .tgz i odpalić te npm install, tak aby nie pobierała tej jednej zależności, ale zainstalowała ją z lokalnego folderu?

    np. jakoś npm install jakaś opcja

Próbowałem linki podmienić na nowe, ale chyba nie działa, albo coś spieprzyłem xD. Nie rozumiem trochę tych instalacji zależności, to trzeba dla każdego projektu od nowainstalować w jego lokalnym folderze?

  1. W ogóle dlaczego to npm install wykonuje się po 15-20 minut? W Pythonie jak pobieram jakąś bibliotekę, to trwa to kilkanaście sekund, nawet jakbym chciał dołączyć ich 30 to zajęło by to mniej czasu.

  2. Czy takie tutoriale i kursy z Internetu + własna praca wystarczą aby wejść na w miarę przyzwoity poziom?

3

Jeśli wstawisz komunikat błędu i najlepiej plik package.json to sprobuje Ci pomóc z instalacją

CristianoRivaldo napisał(a):
  1. Czy da się np. pobrać ją na lokalny komputer w formacie .tgz i odpalić te npm install, tak aby nie pobierała tej jednej zależności, ale zainstalowała ją z lokalnego folderu?

Tak, można zbudować swój lokalny pakiet i go zainstalować, ale jest to trochę trudniejsze niż "npm install".

2
CristianoRivaldo napisał(a):

Niby się instaluje do czasu, aż wywali się na jakiejś jednej zależności, tak jakby link do źródła w pliku package-lock.json był przestarzały (to co jest po "resolved":) Wywala brak odpowiedzi od tej lokalizacji

Znajomy pojechał na urlop, a ja nie chcę tracić czasu póki mam wolne, czy mógłby ktoś poradzić jak zainstalować tą jedną bibliotekę?

Którą dokładnie? I w jakiej wersji?

  1. Czy da się np. pobrać ją na lokalny komputer w formacie .tgz i odpalić te npm install, tak aby nie pobierała tej jednej zależności, ale zainstalowała ją z lokalnego folderu?

jak masz paczkę na dysku, to możesz pokombinować z wgraniem ręcznie do node_modules(albo z tworzeniem dowiązania przez ln -s czy użycia npm link). Przy czym paczka publikowana na npm nie do końca musi odpowiadać repozytorium. Tj. jeśli po prostu sklonujesz repo gita z paczką to może się nie udać, bo często musi to być specjalnie zbudowane.

Tym niemniej pytanie - czemu się wiesza na danej paczce? I co to za paczka?

Nie rozumiem trochę tych instalacji zależności

A kto rozumie? XD

  1. W ogóle dlaczego to npm install wykonuje się po 15-20 minut?

Nie używałem, ale niektórzy chwalą sobie Yarn, alternatywę dla npma, która podobno ma być szybsza. Przynajmniej kiedyś się tak mówiło.

0

Chodzi o zed.js. Wyskakuje Error: "npm ERR!. network request to server failed, reason: connect ETIMEDOUT 10.271.31.124:443"

Ale mam te wszystkie kopie paczek od niego lokalnie, spakowane do .tgz (teraz zauważyłem, po co był drugi folder)

Tylko jak to dodać do projektu razem z wszystkim, co instaluje npm install

0

wystarczy że dodasz te pakiety do cache npma https://docs.npmjs.com/cli/v6/commands/npm-cache
npm najpierw je bierze z cache'a więc normalnie możesz użyć wtedy npm install

0
CristianoRivaldo napisał(a):

Wyskakuje Error: "npm ERR!. network request to server failed, reason: connect ETIMEDOUT 10.271.31.124:443"

Google podpowiada, że błąd może być związany z ustawieniami proxy / konfiguracją npm

1)

https://stackoverflow.com/questions/64448504/npm-err-network-request-to-http-registry-npmjs-org-express-failed-reason-co

Pierwszym rozwiązaniem jakie znalazłem jest usunięcie pliku .nmprc. Odpowiada on za dodatkową konfigurację npm'a.

https://docs.npmjs.com/cli/v8/configuring-npm/npmrc

2)

https://howtodoinjava.com/angular/npm-install-hung/

Drugim sposobem może być ręczne skasowanie ustawień proxy za pomocą komendy npm config

npm config rm proxy
npm config rm https-proxy

Dodatkowo niezależnie od rozwiązania polecałbym na samym końcu zresetować cache w npm npm cache clean i jeśli podczas instalacji stworzyły się pliki package-lock.json i node_modules to je też możesz skasować.

1
CristianoRivaldo napisał(a):

Chodzi o zed.js. Wyskakuje Error: "npm ERR!. network request to server failed, reason: connect ETIMEDOUT 10.271.31.124:443"

Ale mam te wszystkie kopie paczek od niego lokalnie, spakowane do .tgz (teraz zauważyłem, po co był drugi folder)

Tylko jak to dodać do projektu razem z wszystkim, co instaluje npm install

ja tu widzę jeszcze kolejny problem.
ta biblioteka (jeśli to ten pakiet)
https://www.npmjs.com/package/zedjs
jest nieutrzymywana (kilka commitów na krzyż w zeszłym roku) i prawie nikt z niej nie używa (więc nawet nie masz jak znaleźć odpowiedzi w sieci).

O ile czasami jest sens używać tego typu bibliotek (jeśli implementują jakąś konkretną funkcjonalność, której gdzie indziej nie ma i jedyna biblioteka, to właśnie jakaś nieutrzymywana paczka. Albo jeśli to nasza własna biblioteka, która wiemy, że się sprawdza), to to jest zwykły microframework, jakich wiele. Więc alternatyw jest sporo.

Kolega wysłał mi swój bardzo spory projekt do nauki, dość stary - 3 lata temu pisany.

Uprzedzając tłumaczenia - wiem, że to kolega, a nie ty. Wskazuje tylko na pewien problem.

Zaraz. Coś mi się nie zgadza. Jeśli ten projekt 3 lata temu był pisany, to skąd w nim biblioteka, która powstała rok temu? Tak jak spojrzałem na githuba autora, to tam jeszcze jest drugie repo tej libki: https://github.com/Paul-Browne/Zed-framework, czyli 3 lata temu już to istniało, ale też ostatnie commity się rok temu kończą.

1 użytkowników online, w tym zalogowanych: 0, gości: 1