Jac*_*cob 11 lockfile artifactory npm npm-shrinkwrap
我们公司使用Artifactory存储库来存储内部发布的包,并作为NPM注册表的代理.有时resolved
lockfiles/shrinkwrap文件中的字段是预期的,包含我们内部存储库的URL,但有时它们会显示为这样的内容(为了清晰起见,添加了换行符):
https://our.repository.com/artifactory/api/npm/some-repo/lodash/-/lodash-3.10.1.tgz
?dl=https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz
Run Code Online (Sandbox Code Playgroud)
然后,从拉取请求到拉取请求,这些dl
参数不断地振荡到存在或移除,这取决于哪个开发者做了npm install
,导致大量拉取请求和提交噪声.
我猜这是Artifactory添加了这个dl
参数,因为我没有在npm代码库中的代码搜索中看到它.
为什么会这样?我们可以禁用此行为吗?将此参数作为postshrinkwrap
脚本解决方法剥离是否安全?
我认为你的问题的根源可能是缓存。
NPM 会缓存已下载的包,因此无需再次下载,甚至可以在需要时离线重新安装。它还缓存解析值以供以后使用。如果相同版本的包已经被解析并下载,则不需要再次获取它并获取更新的下载/解析的 URL。
您可以使用以下命令手动清除此缓存。
npm cache clean --force
Run Code Online (Sandbox Code Playgroud)
或者,也可能是不同版本的 NPM 计算已解析字段的方式存在差异(是否在 Location 标头之后)。不过我认为缓存更有可能是罪魁祸首。
归档时间: |
|
查看次数: |
224 次 |
最近记录: |