【发布时间】:2015-11-04 20:02:36
【问题描述】:
是否有一些 URL 可以让我从 npm 下载给定的包(作为 tarball 或其他东西)?我需要最初上传到 npm 的确切文件。
例如,使用 npm install 会得到一个不同的生成的 package.json。我想要已发布的确切原始文件集。
【问题讨论】:
标签: npm
是否有一些 URL 可以让我从 npm 下载给定的包(作为 tarball 或其他东西)?我需要最初上传到 npm 的确切文件。
例如,使用 npm install 会得到一个不同的生成的 package.json。我想要已发布的确切原始文件集。
【问题讨论】:
标签: npm
【讨论】:
npm pack <module_name> 正是我需要在 dockerfile 的第一阶段从经过身份验证的注册表下载 npm 模块,然后将其复制到最后阶段(无法访问凭据)
npm pack <package-name> 确实会下载压缩包,尽管您可能对命名有什么期望。无需使用npm view 命令。
npm view react@16.0.0 dist.tarball,尽管最新版本为react@17.0.2,但现在产生https://registry.npmjs.org/react/-/react-16.0.0.tgz。
npm pack 也直接下载到你的pwd
运行npm pack PACKAGE_NAME 将在 npm 上下载任何包的 tarball。
要提取它,只需运行tar -xzf DOWNLOADED_FILE.tgz
npm pack react
然后提取:
tar -xzf react-16.6.3.tgz
【讨论】:
只需运行命令
npm view [package name] dist.tarball
它会返回一个 tar url。
【讨论】:
如果您需要在未安装 npm 的情况下获取 tarball,您可以使用 curl 获取包信息并使用 jq 从 JSON 中获取正确的信息:
curl https://registry.npmjs.org/PACKAGE-NAME/ \
| jq '.versions[."dist-tags".latest].dist.tarball'
例如,如果您正在构建一个需要一个 npm 包的 Docker 容器,并且不想为此安装 npm。
【讨论】:
是的,您可以npm install <git remote URL> 将完整的存储库下载到node_modules。不过,这将直接来自存储库的主机,而不是通过 npm。请参阅the npm install docs 了解更多信息。
【讨论】: