我的主机的防火墙不允许连接到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