2.1 KiB
id | title |
---|---|
use-cases(使用-案例) | 使用案例 |
使用私有包
您可以添加用户并管理哪个用户可以访问哪个包。
建议您定义私有包的前缀。例如“local(当地)",这样您私人的东西将如下所示:local-foo
。 通过这种方法您可以清楚地把公有包和私有包分开。
从npmjs.org使用公有包
如果一些包没有在存储里,服务器将试着从npmjs.org中取它。 如果npmjs.org坏了,它会假装没有其他的包存在, 并起到缓存包的作用。 Verdaccio将只下载需要的 (= 由客户要求的)信息, 而且此信息将被缓存,这样如果客户再次问同样的事,它可以马上作用而不需要问npmjs.org。
例如:如果您曾经成功从此服务器请求express@3.0.1,哪怕npmjs.org 坏了,您也可以在任何时候再次请求(包含其相关项)。 但是,除非有人真正需要express@3.0.0,否则它是不会被下载的。 而且如果npmjs.org脱线,此服务器将会说除了express@3.0.1 (=只有在缓存里的)外,没有其他的发布。
覆盖公共包
如果您希望使用一些公共包foo
的修正版本,您只要把它发布到您的当地服务器,这样当您输入npm install foo
,它将考虑安装您的版本。
这里有两个选项:
-
您要创建单独的分叉并停止与公共版本同步。
如果您希望这么做,您应该修改配置文件,这样verdaccio将不再向npmjs提出此包的请求。 将此包单独添加到config.yaml 中并从
proxy
列表删除npmjs
,然后重启服务器。当您在本地发布包,您可能应该从现有版本更高的 string开始,这样它就不会和缓存中的现有包冲突。
-
您希望临时使用自己的版本,但在它更新后立即切换回公共版本。
为了避免版本冲突,您应该使用下一个补丁版本的自定义预发行的后缀。 例如,如果公共包有 0.1.2版本,您可以上传0.1.3-my-temp-fix。 这样,您的包将在原始维护人员更新其公共包到0.1.3之前使用。