我的 nodejs 项目使用了一些库。一库pouchdb
将尝试安装相当多的依赖项。有一个叫leveldown
,它将尝试从 Internet 下载 Node.js header ,然后从头开始重建所有内容。实际上我根本不需要leveldown
。但他们的社区建议我私下 fork 一个 pouchdb
并修改 package.json 以排除任何我不需要的依赖。
这是我对 npm/yarn 人员的一般性问题。是否可以在运行 npm install
或 yarn 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/