我正在尝试将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分钟才能上载所有软件包。有更好的方法吗?
答案 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“
我认为这会绕过钩子,我也怀疑钩子可能是造成延迟的原因。