Zapora sieciowa mojego komputera głównego nie pozwala na połączenie z Internetem.

Więc instalacja npm nie będzie tam działać.

npm ERR! network request to https://registry.npmjs.org/Puppeteer failed

Jak więc mogę zainstalować Puppeteer na tej maszynie? Czy jest dostępny samodzielny instalator?

1
Arun Raj 19 listopad 2019, 20:20

2 odpowiedzi

Może wejdź do komputera, który ma dostęp do internetu, zainstaluj lalkarza wewnątrz projektu npm. (npm init -y && npm i puppeteer), a następnie przeszukaj folder node_modules, który zostanie utworzony i skopiuj do niego folder lalkarza. Wklej to na dysk flash, podłącz go do komputera bez internetu i przeciągnij i upuść do swojego projektu do folderu node_modules. Nie próbowałem, czy to działa, ale byłoby to moje pierwsze podejście. Jestem ciekawy, co próbujesz osiągnąć z lalkarzem, jeśli nie masz jednak internetu ...

0
Leo Policastro 19 listopad 2019, 21:42

Wykonuję następujące czynności, gdy jestem w drodze lub nie mam dostępu do Internetu, ale chcę użyć niektórych modułów node_modules gdzieś daleko.

Dwa sposoby radzenia sobie z tym:

  • Utwórz projekt i zainstaluj wszystkie zależności, mając dostęp do Internetu, używaj go, kiedy chcesz.
  • Zainstaluj tylko określone zależności i skopiuj pliki node_modules i package.json.

Omówię drugą, ponieważ obie opcje są w zasadzie takie same.

Najpierw znajdź komputer z dostępem do internetu. Następnie utwórz pusty projekt nodeJS tylko dla lalkarza. Skopiuj cały folder node_modules do użytku w przyszłości, a nie tylko folder lalkarza. Pamiętaj, że nigdy nie zostanie zaktualizowany, a wersja jest zawsze naprawiona. Jeśli chcesz go zaktualizować, musisz ponownie wykonać podobne czynności.

Oto kroki,

➜  mkdir puppeteer-copy
➜  cd puppeteer-copy 
➜  yarn add puppeteer

W pliku package.json zobaczysz lalkarza wymienionego jako zależność, upewnij się, że masz to w swoim programie podczas używania skopiowanego pakietu. Jeśli chcesz, możesz skopiować tylko tę linię.

➜  ls
node_modules  package.json  yarn.lock
➜  cat package.json 
{
  "dependencies": {
    "puppeteer": "^2.0.0"
  }
}

Powodem, dla którego potrzebujesz całego folderu node_modules są pewne zależności używane przez lalkarza,

➜  node_modules ls
agent-base       es6-promisify      minimatch             puppeteer
async-limiter    extract-zip        minimist              readable-stream
balanced-match   fd-slicer          mkdirp                rimraf
brace-expansion  fs.realpath        ms                    safe-buffer
buffer-from      glob               once                  string_decoder
concat-map       https-proxy-agent  path-is-absolute      typedarray
concat-stream    inflight           pend                  util-deprecate
core-util-is     inherits           process-nextick-args  wrappy
debug            isarray            progress              ws
es6-promise      mime               proxy-from-env        yauzl
2
Md. Abu Taher 20 listopad 2019, 06:13