我正在尝试使用artillery
在npm
的Docker容器中安装npm install -g artillery
NPM软件包。但是,它挂此消息
[..................] / rollbackFailedOptional: verb npm-session 005fda8725330544
最初,我尝试使用debian:stretch docker映像,将nodejs
和npm
与apt
一起安装。我还尝试了node
官方镜像和alpine
镜像(使用apk add nodejs npm
。它们都具有相同的错误。
我的容器中有可用的网络,我可以在所有不同的Docker容器中看到NPM注册表很好
# curl http://registry.npmjs.org/
{"db_name":"registry","doc_count":1114477,"doc_del_count":341,"update_seq":16317727,"purge_seq":0,"compact_running":false,"disk_size":13471206003,"data_size":11114653800,"instance_start_time":"1547073780489012","disk_format_version":6,"committed_update_seq":16317727}
大多数出现此错误的人都有代理问题,但是我没有设置任何代理,也没有尝试设置任何默认情况下离开配置的内容:
# npm config list
; cli configs
metrics-registry = "https://registry.npmjs.org/"
scope = ""
user-agent = "npm/6.4.1 node/v8.15.0 linux x64"
; node bin location = /usr/bin/node
; cwd = /
; HOME = /root
; "npm config ls -l" to show all defaults.
最奇怪的是,如果我改为创建Ubuntu VM(非容器),安装node
和npm
与apt
,则节点工作正常!看来这是一个码头工人问题。