npm发布:如何忽略钩子

时间:2019-03-13 11:37:56

标签: node.js npm nexus

我正在尝试将React项目依赖项存储在Nexus中。 Nexus位于与互联网断开连接的局域网中。因此,我必须手动上载并维护Nexus中的所有NPM依赖项。在联机模式下运行npm install后,我创建了新的托管NPM存储库和以下脚本来上传软件包。

#!/bin/bash

nexus='http://192.168.1.111:8082/nexus/repository/npm-releases/'
project="$PWD"

pkgs=$(find node_modules -type f -name 'package.json')
for pkg in $pkgs
do
  cd "$(dirname "$pkg")"
  echo $PWD
  npm publish --registry "${nexus}"
  cd "$project"
done;

但是,其中一些软件包包含试图将其推送到git等的发布钩子。如何忽略所有这些钩子?其次,此脚本大约需要45分钟才能上载所有软件包。有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

如果您可以熟悉一下脚本,则可以使用REST API。

以下是最新的NXRM3中的示例:

卷曲-X POST“ http://localhost:8081/service/rest/v1/components?repository=npm-hosted” -H“接受:应用程序/ json” -H“内容类型:多部分/表单数据” -F“ npm.asset=@crc-3.0.0。 tgz; type = application / gzip“

我认为这会绕过钩子,我也怀疑钩子可能是造成延迟的原因。