最近在基于 jupyter lab 开发插件,插件依赖于本地包时,npm install 通不过,出现了以下报错:
Couldn't find package "..." on the "npm" registry.
经过很多次尝试都不行。后来发现是 jupyter 的 bug,所依赖的 package 都要到 npm 仓库中获取得到才行。
可通过使用 verdaccio 来变通解决解决。
1、安装运行 verdaccio
yarn global add verdaccio //安装 verdaccio 包
或者 npm install --global verdaccio //安装 verdaccio 包
verdaccio //运行 verdaccio
2、发布本地包
npm login // 根据提示,输入或设置用户名、密码
npm publish 你的本地包名 --registry http://localhost:4873
即将本地的包,通过 verdaccio 发布到本地。
npm install 会到 verdaccio 的本地仓库 http://localhost:4873 找所要的包。
3、卸载本地包
若要卸载包,可用以下命令:
npm unpublish --force 你的本地包名
4、若要卸载verdaccio:
将源设置回npm
npm config set registry https://registry.npmjs.org/
卸载verdaccio
npm uninstall -g verdaccio
参考资料
labextension link
does not correct dependencies of linked packages
jlab-bundler-repro
https://github.com/verdaccio/verdaccio
网友评论