从今天起,verdaccio (v3.8.3)停止在本地注册表中显示包。
打开浏览器这条消息显示:还没有发布包
配置中指定的存储文件夹(~/..local/share/verdaccio/ storage )包含我的所有包。
但是数据库文件是空的~/.local/share/verdaccio/storage/.sinopia-db.json.实际上,从终端运行verdaccio我得到了以下信息:
warn --- config file - /home/bssadmin/.config/verdaccio/config.yaml
error--- Package database file corrupted (invalid JSON), please check the error printed below.
File Path: /home/bssadmin/.local/share/verdaccio/storage/.sinopia-db.json SyntaxError: Unexpected end of JSON input
at JSON.parse (<anonymous>)
at LocalDatabase._parseDatabase (/home/bssadmin/.npm-packages/lib/node_modules/verdaccio/node_modules/@verdaccio/local-storage/lib/local-database.js:298:19)
at LocalDatabase._fetchLocalPackages (/home/bssadmin/.npm-packages/lib/node_modules/verdaccio/node_modules/@verdaccio/local-storage/lib/local-database.js:272:23)
at new LocalDatabase (/home/bssadmin/.npm-packages/lib/node_modules/verdaccio/node_modules/@verdaccio/local-storage/lib/local-database.js:49:22)
at LocalStorage._loadStorage (/home/bssadmin/.npm-packages/lib/node_modules/verdaccio/build/lib/local-storage.js:809:14)
at new LocalStorage (/home/bssadmin/.npm-packages/lib/node_modules/verdaccio/build/lib/local-storage.js:54:27)
at Storage.init (/home/bssadmin/.npm-packages/lib/node_modules/verdaccio/build/lib/storage.js:64:25)
at /home/bssadmin/.npm-packages/lib/node_modules/verdaccio/build/api/index.js:145:19
at Generator.next (<anonymous>)
at step (/home/bssadmin/.npm-packages/lib/node_modules/verdaccio/build/api/index.js:53:191)
error--- Database is locked, please check error message printed during startup to prevent data loss.
(node:9242) ExperimentalWarning: The fs.promises API is experimental
error--- Database is locked, please check error message printed during startup to prevent data loss.
warn --- Plugin successfully loaded: htpasswd
warn --- Plugin successfully loaded: audit
warn --- http address - http://0.0.0.0:4873/ - verdaccio/3.8.3发生什么事了?我该怎么解决?
我应该用'verdaccio‘标签来标记这个问题,但它是不可用的,我无法创建它。
发布于 2019-04-06 13:21:26
如果.sinopia-db.json.为空,则很可能已损坏。如果有任何私有包,您可能需要手动修复它。
格式很简单
{"list":["@test/test_1","@test/test_2","@test/test_3","test_4"],"secret":"secretKEYLongString"}此文件必须是有效的JSON格式。
如果另一个数据库为空,只需让列表数组为空,或者删除整个文件,重新启动服务器,Verdaccio就会生成一个新的文件。
https://stackoverflow.com/questions/54792604
复制相似问题