是否有一些URL我可以从npm下载给定的包(作为tarball或其他东西)?我需要最初上传到npm的确切文件。
使用npm install
获取另一个生成的package.json例如。我想要发布的确切原始文件集。
答案 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