npm私服搭建 (PM2 Not tested)
一、确保node安装
命令行执行node -v和npm -v,检查是否安装若无推荐文章node管理
二、安装verdaccio cmd直接输入verdaccio
1、命令行执行:npm install -g verdaccio --unsafe-perm
如图无报错则表示verdaccio安装成功。
2、运行verdaccio
访问localhost:4873,可以看到登录页面
3、修改verdaccio配置,指定仓库目录
在配置文件的末尾添加listen: 0.0.0.0:4873,配置此选项则是允许任何外部的所有IP都可以访问到此服务
storage选项配置,指定仓库的路径(位置),注意路径是用斜线,而不是反斜线
然后在另外一台电脑验证,如下图所示打开网页(http://xxx.xxx.x.xxx:4873
):
注:这一步很重要,若是服务器跑的服务,需确认4873端口已新建规则并开启
若能打开,则表示listen: 0.0.0.0:4873配置已生效。
4、安装nrm
nrm可以用来管理自己的npm代理,快速修改,切换,增加删除npm镜像地址等。
npm install -g nrm
//添加一个私有的npm源
nrm add verdaccio http://localhost:4873/
//查看可选源 星号代表当前使用源
nrm ls
//切换npm源
nrm use verdaccio
添加npm账户
npm adduser //添加用户之前要先启动verdaccio
登录用户
npm login
如果不想别人随便添加用户的话找到上面的verdaccio的配置文件config.yml如下图。修改max_users:-1,默认是500
发布npm包
新建一个文件夹mypackage执行
npm init //全部都按回车键即可。
生成了一个package.json文件。然后新建一个js文件
//index.js
module.exports.hello = function(name){
return "hello" + name;
}
然后在这个目录下执行npm publish完成后就可以在http://localhost:4873/看到我们发布的包了。
在package.json文件可以修改包的显示信息。
这样就完成了我们npm私人库的搭建。
安装pm2
pm2是node进程管理工具,可以后台运行,终端关闭不影响
npm install -g pm2 //安装
pm2启动verdaccio服务
pm2 start verdaccio
记得我最上面说的坑吗。这里如果你把npm包的全局路径下的verdaccio启动的话,第一次执行会成功。以后都会失败。如下图所示。
如果你输入pm2 logs打印出我这个错误就说明是verdaccio路径有问题。
正确的pm2 执行 verdaccio路径在node_global\node_modules\verdaccio\bin里面。如果直接执行verdaccio不用pm2托管的话可以用node_modules\verdaccio。
pm2 start node_global\node_modules\verdaccio\bin\verdaccio
这样就把我们的verrdacio放在后台执行了。
如果要停止这个服务
pm2 stop verdaccio //停止某个服务
pm2 stop all //停止所有服务
pm2 restart //重启服务