解决Verdaccio找不到包的问题
同事告诉我说,npm无法下载一个私有包,返回错误码500。
- 试了一下,确实如此。 - 1 
 2
 3
 4
 5- npm install -g nrm # 用nrm来切换镜像 
 nrm add toplinker http://140.197.105.14:4873/ # 添加私有镜像
 nrm use toplinker
 npm install @topibd/core
 下载失败
- 怀疑是不是需要登录。 - 1 
 2
 3- npm login 
 npm install @topibd/core
 仍然失败
- 检查一下verdaccio的配置,我们的verdaccio是在docker中的 - 1 
 2
 3
 4
 5
 6
 7
 8
 9- ssh xxx@xxx 
 docker exec -it verdaccio sh
 cat /verdaccio/conf/config.yaml
 packages:
 '@*/*':
 # scoped packages
 access: $all
 publish: $authenticated
 proxy: npmjs- 并没有做限制。 
- 通过网页打开 http://140.197.105.14:4873 - 首页能显示所有包,但是打开包的详情页会出现“Oops, The package you are trying to access does not exist.” 
- 查看了下docker内的包文件,都在 - 1 
 2- docker exec -it verdaccio sh 
 cd /verdaccio/storage/
- Google了下,说可能是文件夹权限的问题。试一下 - 1 
 2- docker exec --user root -it verdaccio sh 
 chown verdaccio: /verdaccio/ -R
- 再试一下,成功了。