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

发布于 1周前 作者 sinazl 来自 nodejs/Nestjs

你们怎么处理私有的 Nodejs 包?
现在我在本地用 npm link 处理,很不方便啊,比如

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


npm 有私有包,不过要$7/月,个人用太贵了。

13 回复

放到远程 git 仓库,仓库可以是私有的 版本控制的话可以精确到 commit


自建 npm
或者 package 里填写依赖时使用 github 地址 不过这需要 github 上有私有项目。不如自建 npm 方便

https://xcoder.in/2016/07/09/lets-cnpm-base-deploy/ 参考这篇文章可以搭建私有的 npm registry

没啥用啊,一旦你用 Babel/CoffeeScript/TypeScript 之后,除非把编译后的文件也加入仓库…

私有 git 仓库就行了

可以用 cnpm 打造私有 npm 仓库

我们现在是用 sinopia 搭建私有仓库,然后再把源码放到私有 git 仓库中。我们 team 的规模不大,使用上没有遇到什么问题,搭建起来也很快。你可以参考下。

是应该把编译后的加入啊,不然你引用的时候怎么办?

我没说编译后的文件不应该加入 npm 包,我说的是编译后的文件不应该加入 git 仓库。

cnpm + scoped packages

我们用 Nexus Repository OSS 自己搭的仓库,支持类型挺多的, npm 、 maven 还有 docker 等

在处理私有的Node.js包时,我们通常会采取以下步骤来确保包的安全性和可管理性:

  1. 配置私有源

    • .npmrc文件中配置私有npm仓库的地址,以及登录凭证(如authToken)。
    registry=https://your-private-registry.com/
    _authToken=your-auth-token
    
  2. 登录私有源

    • 使用npm loginnpm adduser命令登录到私有npm仓库,输入用户名、密码和邮箱。登录成功后,npm会自动在.npmrc文件中生成_authToken
  3. 安装私有包

    • 使用npm install <package-name>命令安装私有包。npm会从配置的私有源中下载并安装该包。
  4. 发布私有包

    • 在要发布的包目录下,使用npm publish命令将包发布到私有源。确保包名、版本号等信息正确无误。
  5. 版本管理

    • package.json文件中指定依赖包的版本号,并使用语义化版本规范(SemVer)来管理版本。这样可以确保在不同开发环境中的一致性。
  6. 安全性

    • 定期更新依赖包,避免使用过时或有安全漏洞的版本。
    • 使用npm audit命令检查依赖包的安全性,并修复发现的问题。

通过以上步骤,我们可以有效地管理私有的Node.js包,确保项目的稳定性和安全性。

回到顶部