取经路上 2019-06-30
$ npm install -g --build-from-source cnpmjs.org cnpm sqlite3
如果报错或者警告通过下面方式安装
$ npm install -g --unsafe-perm --verbose --build-from-source cnpmjs.org cnpm sqlite3
配置文件位于~/.cnpmjs.org/config.json
中,
{ "bindingHost": "0.0.0.0", "admins": { "admin": "[email protected]" }, "scopes": [ "@package" ], "registryHost": "registry.company.com" }
bindingHost
:设置0.0.0.0
后,服务可外网访问admins
: 管理员配置,可多个scopes
: 包前缀,如果不是以这个前缀命名的包将不能发布,可多个registryHost
:下载包对应的服务器地址,如不配置会走默认r.cnpmjs.org
更多配置参考:https://github.com/cnpm/cnpmj...
$ cnpmjs.org start
运行后默认将会开启两个端口:7001(registry)
,7002(web)
用来在命令行发布,下载包等对用的远程registry
地址
比如:cnpmjs.org
官方:http://r.cnpmjs.org/npm
官方:https://registry.npmjs.org/
用来在web
端查看仓库信息,搜索包,包信息等
比如:cnpmjs.org
官方:https://cnpmjs.org/npm
官方:http://npmjs.com/
nginx
配置到对应域名例如:7001
配置到registry.company.com
7002
配置到npm.company.com
上述方法在命令行退出时,会自动关闭进程,如果需要持久化运行cnpmjs.org
,可以借助进程管理工具pm2
。
$ npm install pm2 -g
$ pm2 start `which cnpmjs.org` -- start
--
可以在pm2 start
的脚本后面增加参数。
$ npm install cnpm -g $ cnpm set registry http://registry.company.com
这里的registry
地址为上述registryHost
字段。
$ cnpm login
输入用户名、密码、邮箱登录,为配置中admins
字段
进入待发布工程目录,执行:
$ cnpm publish
$ cnpm install @package/package_name