npm内网源搭建
2015-12-09 18:51
405 查看
前段时间用npm在公司搭建了npm内网源,把搭建过程及踩的坑记录一下。
准备工作:
安装node及npm,node版本4.2.2+(切记,4以下的版本是不行的)
首先下载源代码:
如果没装git,直接去https://github.com/cnpm/cnpmjs.org/ 下载zip吧。
安装依赖,可从淘宝npm源安装加快速度:
更改config,在cnpmjs.org/config/index.js,下面列出需要更改及留意的项目:
好了,配置大概就这样。
如果没得mysql(其它数据库类型有成功的可以分享下),就安装一下mysql
mysql解压即可使用,很方便的。cmd进入MySQL Server 5.5/bin目录,运行
mysql服务就启动了。另外开一个控制台进入bin目录,设置root密码(不设置似乎无法远程连接成功,被坑过。有mysql大神可以解解惑)。
然后登录:
创建数据库:
创建表,将cnpmjs.org/doc/db.sql中的内容复制出来在mysql中执行一遍即可
好了,mysql设置完成,可以启动cnpm服务了。cmd进入cnpmjs.org
等成功启动后,n串提示后完
即可看到内网源的web页面了,后台自动开始同步官方模块。
安装完成,下面说说内网源的使用了。
安装cnpm客户端:
设置cnpm源为内网源
好了,现在可以通过cnpm使用内网源了,支持所有npm命令~
模块安装就不多说了,和npm一样
说说关键的模块发布。模块发布需要登录,先创建用户:
依次填写用户名、密码、邮箱即可,用户名与邮箱与config中的admin配置对应。
然后登录:
按提示依次输入即可。
然后进入你写的模块目录,注意模块名称必须带前缀,如@xxx/name,与config中的scopes配置对应,然后执行:
好了,模块发布完成!
以上方法是经过验证的,不会有问题。如果未能成功,可检查一下:
1、命令(cmd控制台)是否是以管理员身份运行
2、npm全局路径或环境变量是否有问题
准备工作:
安装node及npm,node版本4.2.2+(切记,4以下的版本是不行的)
首先下载源代码:
git clone git://github.com/cnpm/cnpmjs.org.git
如果没装git,直接去https://github.com/cnpm/cnpmjs.org/ 下载zip吧。
安装依赖,可从淘宝npm源安装加快速度:
npm install --registry=http://registry.npm.taobao.org
更改config,在cnpmjs.org/config/index.js,下面列出需要更改及留意的项目:
enablePrivate: true, // 设置为true scopes: [ '@xxx', '@tools', '@doc'] // 私有源支持的模块前缀,可以自由设置(cnpm的要求,避免与官方模块冲突) syncModel: 'exist', // 只同步已有模块,all可以开启全量同步,但资源增长太快需慎重 admins: { // 注意,添加用户时,请添加该处配置的用户,不然不能发布模块的 // name: email fengmk2: 'fengmk2@gmail.com', admin: 'admin@cnpmjs.org', dead_horse: 'dead_horse@qq.com', }, database: { db: 'cnpmjs_test', username: 'root', password: 'mysql', // - currently supported: 'mysql', 'sqlite', 'postgres', 'mariadb' dialect: 'mysql', // 我用的mysql,用sqlite启动抛异常,不知道为什么 ... },
好了,配置大概就这样。
如果没得mysql(其它数据库类型有成功的可以分享下),就安装一下mysql
http://www.mysql.com/downloads/
mysql解压即可使用,很方便的。cmd进入MySQL Server 5.5/bin目录,运行
mysqld
mysql服务就启动了。另外开一个控制台进入bin目录,设置root密码(不设置似乎无法远程连接成功,被坑过。有mysql大神可以解解惑)。
mysqladmin -u root password "mysql";
然后登录:
mysql -u root -p mysql
创建数据库:
create database cnpmjs_test; use cnpmjs_test;
创建表,将cnpmjs.org/doc/db.sql中的内容复制出来在mysql中执行一遍即可
好了,mysql设置完成,可以启动cnpm服务了。cmd进入cnpmjs.org
node dispatch.js
等成功启动后,n串提示后完
127.0.0.1:7002
即可看到内网源的web页面了,后台自动开始同步官方模块。
安装完成,下面说说内网源的使用了。
安装cnpm客户端:
npm i cnpm -g
设置cnpm源为内网源
cnpm config set registry="http://127.0.0.1:7001"
好了,现在可以通过cnpm使用内网源了,支持所有npm命令~
模块安装就不多说了,和npm一样
cnpm install 模块名称
说说关键的模块发布。模块发布需要登录,先创建用户:
cnpm adduser
依次填写用户名、密码、邮箱即可,用户名与邮箱与config中的admin配置对应。
然后登录:
cnpm login
按提示依次输入即可。
然后进入你写的模块目录,注意模块名称必须带前缀,如@xxx/name,与config中的scopes配置对应,然后执行:
cnpm publish
好了,模块发布完成!
以上方法是经过验证的,不会有问题。如果未能成功,可检查一下:
1、命令(cmd控制台)是否是以管理员身份运行
2、npm全局路径或环境变量是否有问题
相关文章推荐
- APM之原理篇
- 产品经理需要会写代码吗?
- LAMP LAMP环境搭建【rpm】+ 实例应用
- PM3(矩阵相乘 行和的简便运算)
- PMCAFF微课堂「已结束」 | 产品汪如何做好“时间管理”让效率提高100倍
- 优秀的产品经理是如何炼成的
- 福利|PMCAFF问答专家群-社区大咖聚集地
- 产品经理的战场:需求评审会
- MPMoviePlayerController概述
- 转自36Kr --不靠谱产品经理养成
- 产品经理需要会写代码吗?
- 在ubuntu上软件安装的几种格式dev,rpm,bin,tar.gz
- rpm 安装mysql
- PMCAFF产品众测 | 对话随手攒CEO聊聊这款产品的设计、推广和改进(活动已结束)
- npm常用命令
- PMCAFF产品经理第一课 | 杭州站 现场集锦
- npm无反应的问题
- 自动化部署必备技能—定制化RPM包
- CCBPM流程结束的大总结
- 一步步创建自己的npm插件