从npm下载包作为tar(不将其安装到模块)

时间:2015-11-04 20:02:36

标签: npm

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

使用npm install获取另一个生成的package.json例如。我想要发布的确切原始文件集。

5 个答案:

答案 0 :(得分:61)

您可以使用npm view获取注册表的tarball(在此示例中为模块level):

$ npm view level dist.tarball

要下载tarball,您可以使用npm pack

$ npm pack level

答案 1 :(得分:6)

只需运行命令

npm view [package name] dist.tarball

它将返回一个tar url。

答案 2 :(得分:1)

如果需要未安装npm的压缩包,则可以使用curl获取软件包信息,并使用jq从JSON获取正确的信息:

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

例如,如果您要构建一个需要一个npm软件包的Docker容器,而又不想为此安装npm,则这很有用。

答案 3 :(得分:0)

是的,您可以npm install <git remote URL>将完整存储库下载到node_modules。这将直接来自存储库的主机,而不是通过npm。有关详细信息,请参阅the npm install docs

答案 4 :(得分:0)

运行npm pack PACKAGE_NAME将在npm上下载任何软件包的tarball。

要提取它,只需运行tar -xzf DOWNLOADED_FILE.tgz

示例:

npm pack react

然后提取:

tar -xzf react-16.6.3.tgz