我的主机的防火墙不允许连接到Internet。

因此,npm install在那里将无法工作。

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


那么如何在此计算机上安装Puppeteer?有独立的安装程序吗?

最佳答案

每当我在路上或无法访问互联网但想在远处使用一些node_modules时,我会执行以下操作。

两种处理方法:


创建项目并在可以访问Internet的同时安装所有依赖项,并在需要时使用它。
仅安装特定的依赖项,然后复制node_modules和package.json。


我将讨论第二个,因为两个选项基本相同。

首先,找到一台可以访问互联网的计算机。然后创建一个仅用于木偶的空白nodeJS项目。复制整个node_modules文件夹以供将来使用,而不仅仅是puppeteer文件夹。请注意,它将永远不会更新,并且该版本始终是固定的。如果要更新,则需要再次执行类似的步骤。

这是步骤,

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


package.json文件上,您将看到一个木偶程序列为依赖项,请确保在使用此复制的程序包时在程序上具有此木偶程序。您可以根据需要仅复制该行。

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


您需要整个node_modules文件夹的原因是由于puppeteer使用了某些依赖项,

➜  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

10-04 14:00
查看更多