从 npm 以 tar 形式下载包(不是将其安装到模块中)

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

是否有一些 URL 可以让我从 npm 下载给定的包(作为 tarball 或其他东西)?我需要最初上传到 npm 的确切文件。

例如,使用

npm install

 会获取不同的生成的 package.json。我想要已发布的确切原始文件集。

npm
6个回答
151
投票
您可以使用

npm view

 获取注册表 tarball 的 URL(在此示例中为模块 level
):

$ npm view level dist.tarball

要下载 tarball,您可以使用

npm pack

:

$ npm pack level
    

25
投票
如果您需要在未安装 npm 的情况下获取 tarball

,您可以使用 curl 获取包信息,并使用

jq
从 JSON 中获取正确的信息:

curl https://registry.npmjs.org/PACKAGE-NAME/ \ | jq '.versions[."dist-tags".latest].dist.tarball'

例如,如果您正在构建一个需要一个 npm 包的 Docker 容器,并且不想为此安装 npm,那么这非常有用。


22
投票
npm pack PACKAGE_NAME

将下载 npm 上任何包的 tarball。


要提取它,只需运行

tar -xzf DOWNLOADED_FILE.tgz


示例:

npm pack react

然后提取:

tar -xzf react-16.6.3.tgz



21
投票

npm view [package name] dist.tarball

它将返回一个 tar url。


0
投票
https://registry.npmjs.org/react/-/react-16.0.0.tgz


-3
投票
npm install <git remote URL>

将完整存储库下载到

node_modules
。不过,这将直接来自存储库的主机,而不是通过 npm。请参阅
npm install文档
了解更多信息。

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