如何覆盖 npm 全局安装中的依赖版本?

问题描述 投票:0回答:1

我正在尝试安装 mermaid-filter (mermaid for pandoc),但安装失败,因为它依赖于旧版本的 puppeteer。旧版本的 puppeteer 安装失败,因为它正在尝试下载现在为 404 的 chromium 版本。

我尝试清除我的 npm_cache,然后先安装 puppeteer,希望在尝试安装 mermaid 过滤器时它只使用现有版本,但这没有什么区别。

如何告诉 npm 在全局安装该软件包时使用不同版本的 puppeteer?或者有什么方法可以通过本地安装来伪造它,然后我可以以某种方式将其放入路径中,以便 pandoc 可以工作?

npm puppeteer pandoc mermaid
1个回答
0
投票

要使用 npm 全局安装特定版本的 Puppeteer,可以使用以下命令:

npm install -g puppeteer@<version>

<version>
替换为所需版本的 Puppeteer。例如:

npm install -g [email protected]

全局安装所需的 Puppeteer 版本后,您可以继续安装 mermaid-filter:

npm install -g mermaid-filter

通过首先全局安装 Puppeteer,您可以确保 mermaid-filter 使用您指定的版本。

如果您遇到权限问题或想避免全局安装,您还可以尝试在项目中本地安装 Puppeteer:

npm install puppeteer@<version>

然后,在安装 mermaid-filter 时,npm 应该使用本地安装的 Puppeteer。

npm install mermaid-filter

确保根据您的需要调整版本号。如果您在安装过程中遇到 Chromium 下载问题,请考虑使用

PUPPETEER_SKIP_CHROMIUM_DOWNLOAD
环境变量来跳过下载并提供现有 Chromium 二进制文件的自定义路径:

PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true npm install puppeteer@<version>

然后继续安装 mermaid-filter。

请记住,使用特定版本的依赖项可能会引入兼容性问题,因此请确保所选版本彼此兼容。

© www.soinside.com 2019 - 2024. All rights reserved.