是否有一些 URL,我可以从 npm 下载给定的包(作为一个 tarball 或其他东西) ?我需要最初上传到 npm 的确切文件。
例如,使用 npm install得到一个不同的、生成的 package.json。
npm install
是的,您可以通过 npm install <git remote URL>将完整的存储库下载到 node_modules中。但是,这将直接来自存储库的主机,而不是通过 npm。有关更多信息,请参见 npm install文件。
npm install <git remote URL>
node_modules
您可以使用 npm view获取注册中心 tarball 的 URL (在本例中是模块 level) :
npm view
level
$ npm view level dist.tarball
要下载 tarball,可以使用 npm pack:
npm pack
$ npm pack level
只要运行命令
npm view [package name] dist.tarball
它将返回一个 tar url。
如果需要获取 tarball 没有安装 npm,可以使用 curl获取包信息,并使用 jq从 JSON 获取正确的信息:
curl
jq
curl https://registry.npmjs.org/PACKAGE-NAME/ \ | jq '.versions[."dist-tags".latest].dist.tarball'
例如,如果您正在构建一个需要一个 npm 包的 Docker 容器,并且不希望仅仅为此安装 npm,那么这就非常有用。
运行 npm pack PACKAGE_NAME将在 npm 上下载任何包的 tarball。
npm pack PACKAGE_NAME
要提取它,只需运行 tar -xzf DOWNLOADED_FILE.tgz
tar -xzf DOWNLOADED_FILE.tgz
npm pack react
然后提取:
tar -xzf react-16.6.3.tgz