【问题标题】:Why does the npm-remote-ls command return more results than Yarn install command for the babel-loader package?为什么 npm-remote-ls 命令返回的结果比 babel-loader 包的 Yarn install 命令多?
【发布时间】:2026-02-06 20:05:01
【问题描述】:

我正在尝试下载 npm 依赖项以供离线使用。

当我运行 npm-remote-ls 时,我得到了数百个依赖项:

> npm-remote-ls --name babel-loader --flatten
[ 'babel-loader@7.1.4',
....
....
... 770 more items ]

当我使用 Yarn 获取文件时,我有 18 个 *.tgz 包

> yarn config set yarn-offline-mirror ~/repository
> yarn install
> ls -l ~/repository
total 124
babel-loader-7.1.4.tgz
find-cache-dir-1.0.0.tgz
mkdirp-0.5.1.tgz
loader-utils-1.1.0.tgz
commondir-1.0.1.tgz
minimist-0.0.8.tgz
pkg-dir-2.0.0.tgz
big.js-3.2.0.tgz
make-dir-1.3.0.tgz
find-up-2.1.0.tgz
emojis-list-2.1.0.tgz
pify-3.0.0.tgz
locate-path-2.0.0.tgz
p-locate-2.0.0.tgz
path-exists-3.0.0.tgz
p-limit-1.3.0.tgz
p-try-1.0.0.tgz
json5-0.5.1.tgz

知道为什么 Yarn 会缓存这么少的包吗?

我正在使用 Yarn 1.7.0、npm 3.10.10 和 Node v6.14.3

谢谢, 埃亚尔

【问题讨论】:

    标签: node.js npm yarnpkg


    【解决方案1】:

    npm install 命令将从package.json 文件安装依赖项,并允许您添加新包。 yarn install 仅按顺序安装yarn.lockpackage.json 中列出的依赖项。

    要了解更多信息,请参阅Yarn vs npm: CLI Differences

    【讨论】: