我使用带有代理npm存储库的nexus 3(从3.2到3.13.0_01的所有版本都受影响)。 有时,当我构建Angular项目时,会出现如下错误:
[ERROR] npm ERR! node v6.11.2
[ERROR] npm ERR! npm v3.10.10
[ERROR] npm ERR! code ETARGET
[ERROR]
[ERROR] npm ERR! notarget No compatible version found: ci-info@^1.3.0
[ERROR] npm ERR! notarget Valid install targets:
[ERROR] npm ERR! notarget 1.1.3, 1.1.2, 1.1.1, 1.1.0, 1.0.1, 1.0.0
[ERROR] npm ERR! notarget
[ERROR] npm ERR! notarget This is most likely not a problem with npm itself.
[ERROR] npm ERR! notarget In most cases you or one of your dependencies are requesting
[ERROR] npm ERR! notarget a package version that doesn't exist.
[ERROR] npm ERR! notarget
[ERROR] npm ERR! notarget It was specified as a dependency of 'is-ci'
[ERROR] npm ERR! notarget
我发现is-ci取决于21小时前发布的npm。
一两天后,问题就消失了,没有我的参与。 我的仓库没有负缓存。 为什么会发生?
重启后问题解决。 我还注意到消息:“系统要求:最大文件描述符[4096]可能太低,至少增加到[65536]。”
Nexus在用户“关系”下运行:
nexus$ ulimit -Sn
65536
nexus$ ulimit -Hn
65536
为什么出现此消息?
答案 0 :(得分:0)
尝试使存储库中的缓存无效。
这是有关缓存失效的片段:
使缓存无效
无效缓存按钮使该存储库的缓存无效。确切的行为取决于存储库类型:
代理存储库
使代理存储库上的高速缓存无效将清除代理高速缓存,以便在下次请求它们时,将再次检查高速缓存的所有可用项是否有任何更改。这还将清除代理存储库的负缓存,以便在下次请求它们时将再次检查在定义的缓存期内未找到的所有项目。
存储库组
使存储库组的缓存无效,将清除组缓存,以便清除在组缓存中获取并保存的所有项目,例如Maven元数据。此操作还会使属于该组成员的任何代理和组存储库的缓存无效。