强制忽略由npm/yarn安装的一个依赖项的依赖项

sta*_*005 8 node.js npm pouchdb yarnpkg

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

这是我对npm/yarn人的一般性问题.是否有可能阻止下载特定的库,在运行npm installyarn install

Rya*_*Zim 5

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


但是,在您的情况下,您不需要私下分叉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'));
Run Code Online (Sandbox Code Playgroud)