node.js - 强制忽略 npm/yarn 安装的一个依赖项的依赖项

标签 node.js npm pouchdb yarnpkg

我的 nodejs 项目使用了一些库。一库pouchdb将尝试安装相当多的依赖项。有一个叫leveldown ,它将尝试从 Internet 下载 Node.js header ,然后从头开始重建所有内容。实际上我根本不需要leveldown。但他们的社区建议我私下 fork 一个 pouchdb 并修改 package.json 以排除任何我不需要的依赖。

这是我对 npm/yarn 人员的一般性问题。是否可以在运行 npm installyarn install 时阻止下载特定库?

最佳答案

不,不可能从安装中排除子依赖项。


但是,在您的情况下,您不需要私下 fork pouchdb。 PouchDB 将自定义构建发布为 npm 包:https://pouchdb.com/custom.html .

如果你想安装 pouchdb 在浏览器中使用,npm install pouchdb-browser

如果您正在使用其他存储适配器(如内存适配器),您可能需要 npm install pouchdb-core 代替。请注意,pouchdb-core 不包含 pouchdb 附带的一些功能。

  • 如果您需要使用query()viewCleanup(),您需要安装pouchdb-mapreduce 并将其作为插件传递.
  • 如果您需要使用replicate()sync(),您需要安装pouchdb-replication 并将其作为插件传递.

示例用法:

const PouchDB = require('pouchdb-core')
  .plugin(require(WHATEVER_STORAGE_ADAPTER_YOU_ARE_USING))
  .plugin(require('pouchdb-mapreduce'))
  .plugin(require('pouchdb-replication'));

关于node.js - 强制忽略 npm/yarn 安装的一个依赖项的依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45524027/

相关文章:

node.js - 使用 nginx 的 Express js 应用程序 - 提供子文件夹时与静态文件发生冲突

javascript - npm run script < 出乎意料

couchdb - PouchDB 和 SvelteKit

couchdb - 如何从 CouchDB 复制到 PouchDB?

node.js - Node.JS 中调用 SQL Server 的异步函数无法正常工作

node.js - 如何等待 promise ?

node.js - -bash :/usr/local/bin/npm: No such file or directory

electron - 使用 Electron 注册 PouchDB/CouchDB/的用户

javascript - 当用户通过设置运行键登录时在后台运行 Windows Node.js 脚本

node.js - 安装ionic 2错误: npm ERROR cannot read property 'path' of null with windows 10