doubleflower
V2EX  ›  Node.js

你们怎么处理私有的 Node 包?

  •  
  •   doubleflower · Mar 5, 2017 · 4915 views
    This topic created in 3536 days ago, the information mentioned may be changed or developed.
    现在我在本地用 npm link 处理,很不方便啊,比如

    1 )没有 semver 功能了,不同 app 用到不同版本不好处理。
    2 )打包部署到服务器不方便,毕竟服务器不能访问到本地的包,我现在是用自动脚本提取出所有本地包复制到打的包里,可是有很多限制,而且对于私有包再依赖私有包不知道要怎么处理,还是要有一个象 npm 那样的包注册中心才好。


    npm 有私有包,不过要$7/月,个人用太贵了。
    12 replies  •  2017-03-06 13:37:06 +08:00
    faceair
    faceair
    Mar 5, 2017❤️1
    1
    放到远程 git 仓库,仓库可以是私有的 版本控制的话可以精确到 commit
    hxsf
    hxsf
    Mar 5, 2017 via iPhone
    2
    自建 npm
    或者 package 里填写依赖时使用 github 地址 不过这需要 github 上有私有项目。不如自建 npm 方便
    songjiaxin2008
    songjiaxin2008
    Mar 5, 2017❤️1
    3
    https://xcoder.in/2016/07/09/lets-cnpm-base-deploy/ 参考这篇文章可以搭建私有的 npm registry
    lujinang
    lujinang
    Mar 5, 2017 via iPhone
    4
    Git submodule
    orzfly
    orzfly
    Mar 5, 2017 via Android
    5
    @faceair 没啥用啊,一旦你用 Babel/CoffeeScript/TypeScript 之后,除非把编译后的文件也加入仓库...
    messagebus
    messagebus
    Mar 5, 2017
    6
    私有 git 仓库就行了
    hronro
    hronro
    Mar 5, 2017
    7
    可以用 cnpm 打造私有 npm 仓库
    coffeedeveloper
    coffeedeveloper
    Mar 5, 2017 via Android❤️1
    8
    我们现在是用 sinopia 搭建私有仓库,然后再把源码放到私有 git 仓库中。我们 team 的规模不大,使用上没有遇到什么问题,搭建起来也很快。你可以参考下。
    doubleflower
    doubleflower
    OP
    Mar 5, 2017
    9
    @orzfly 是应该把编译后的加入啊,不然你引用的时候怎么办?
    orzfly
    orzfly
    Mar 5, 2017 via Android
    10
    @doubleflower 我没说编译后的文件不应该加入 npm 包,我说的是编译后的文件不应该加入 git 仓库。
    breeswish
    breeswish
    Mar 5, 2017
    11
    cnpm + scoped packages
    whow
    whow
    Mar 6, 2017
    12
    我们用 Nexus Repository OSS 自己搭的仓库,支持类型挺多的, npm 、 maven 还有 docker 等
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1011 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 18:59 · PVG 02:59 · LAX 10:59 · JFK 13:59
    ♥ Do have faith in what you're doing.