阿里云搭建npm私服和上传npm包

安装verdaccio:

npm install -g verdaccio --unsafe-perm

加上--unsafe-perm选项是为了防止gyp ERR! permission denied

启动verdaccio

verdaccio

执行结果如下:

*** WARNING: Verdaccio doesn't need superuser privileges. Don't run it under root! ***
 warn --- config file  - /root/.config/verdaccio/config.yaml
 warn --- Verdaccio started
 warn --- Plugin successfully loaded: verdaccio-htpasswd
 warn --- Plugin successfully loaded: verdaccio-audit
 warn --- http address - http://localhost:4873/ - verdaccio/4.4.0

配置服务器的访问地址:

打开/root/.config/verdaccio/config.yaml文件,末尾添加下面的代码:

# you can specify listen address (or simply a port)
listen: 0.0.0.0:4873

保存并退出。

安装pm2:

npm install -g pm2 --unsafe-perm

使用pm2启动verdaccio

pm2 start verdaccio

验证是否成功

打开浏览器,访问服务器ip+4873端口,看是否可以查看到页面:

http://39.97.118.212:4873/

如果无法访问到,可能是你的阿里云服务器未开放此端口号,你需要在阿里云上面开放此端口号,并且重启服务器实例

发布npm包

注册用户

npm adduser -registry http://39.97.118.212:4873/
Username: wangzhangbo
Password: 
Email: [email protected]

默认注册的是npm官方的用户,但是我们可以指定为我们的npm私有服务器,注册完毕后可以使用下面的命令来判断是否注册成功。

[root@iZ2ze0t9x3xbz4h783c24pZ ~]# npm who i am
wangzhangbo

下次再使用时,可以通过下面的命令登录:

npm login
Username: wangzhangbo
Password: 
Email: [email protected]

创建要发布的包

可以按照以下测试流程来创建,仅供参考:

mkdir test && cd test
npm init

创建完毕后,就可以将你想要的内容加进去:

touch index.js
// index.js
export.print = function (...args) {
    console.log(...args);
}

发布npm包

登录npm账号

npm login
Username: wangzhangbo
Password: 
Email: [email protected]

发布

npm publish

下架npm包

登录npm账号

npm login
Username: wangzhangbo
Password: 
Email: [email protected]

下架

npm --force unpublish package-name

你可能感兴趣的:(程序员笔记,web开发笔记)