npm依赖项的硬编码Shrinkwrap url的替代方案
硬编码NPM依赖url不是最佳实践,收缩包装url在与代理交互时存在问题。从事任何一种练习都可能导致以下结果错误:
- Npm install -ddd将显示忽略.npmrc配置的分辨率
- 通常去registry.npmjs.org
- 分辨率会导致400的错误
- 一个可能的错误是“418我是一个茶壶”
- 如果registry.npmjs.org不可用,解析可能会超时
尽管Artifactory不支持npm依赖的收缩包装url,硬编码的url也不在Artifactory的控制范围内,但有几种方法可以解决这些问题:
- 忽略收缩膜,使用如下论点:
- NPM install
-no-shrinkwrap - 请注意:这将引入一个风险,即依赖项安装的版本将与shrinkwrap中定义的版本不同
- NPM install
- 变化的依赖关系
- 改变registry.npmjs.org来< artifactory: port > / artifactory / api / npm / npmjs在package.json
- 请注意:这可以是一个单调乏味的进程,特别是具有大量依赖关系的进程。
- 侧面装载该神器
- 用户解析为虚拟存储库
- 定期复制的内容远程缓存到当地的存储库
- 注意:此方法可能会导致延迟在你得到最新的文物。
更多信息请查阅在这里.