Linux-npm install命令&脚本命令

总结:
1、npm install 会先查找本地已经下载过的包,不论版本是多少,找到了就不会去下载,所以如果要升级依赖,可以使用npm update或者显示安装npm install cross-env --save
2、npm install 会先下载项目中的依赖包,然后下载依赖的依赖,这样就会导致,生成的文件是树形结构,并且存在许多重复的包,所以这个时候npm就会将依赖扁平化,将依赖的依赖提取到第一层,遇到版本号不一致的也会保留,遇到完全一致的就会删除。
3、最后还会提取依赖中的bin文件,windows操作系统生成cmd文件,linux系统生成软连接

验证:

[192.144.163.27:root@xlp89 /var/www/html/qiantai/AICall/nodejs]# npm install

脚本:start_nodejs.sh  stop_nodejs.sh  reload_nodejs.sh  restart_nodejs.sh

[154.8.159.209:root@xlp117 /var/www/html/qiantai/nodejs/smsAdapter]# ll
total 228
-rw-r--r-- 1 root root 1636 Mar 20 14:05 app.js
drwxr-xr-x 2 root root 4096 Mar 20 14:17 bin
drwxr-xr-x 2 root root 4096 Mar 20 14:05 config
drwxr-xr-x 3 root root 4096 Mar 23 14:49 lib
drwxr-xr-x 2 root root 4096 Mar 20 14:05 logs
drwxr-xr-x 397 root root 12288 Mar 20 14:17 node_modules
-rw-r--r-- 1 root root 734 Mar 20 14:05 package.json
-rw-r--r-- 1 root root 153222 Mar 20 14:16 package-lock.json
drwxr-xr-x 5 root root 4096 Mar 20 14:05 public
-rwxr-xr-x 1 root root 129 Mar 20 14:05 reload_nodejs.sh
-rwxr-xr-x 1 root root 131 Mar 20 14:05 restart_nodejs.sh
drwxr-xr-x 2 root root 4096 Mar 20 14:05 routes
drwxr-xr-x 2 root root 4096 Mar 20 14:05 run
-rwxr-xr-x 1 root root 198 Mar 20 14:05 start_nodejs.sh
-rwxr-xr-x 1 root root 109 Mar 20 14:05 stop_nodejs.sh
drwxr-xr-x 2 root root 4096 Mar 20 14:05 test
drwxr-xr-x 2 root root 4096 Mar 20 14:05 views

//=============================================================================================================

[154.8.159.209:root@xlp117 /var/www/html/qiantai/nodejs/smsAdapter]# cat start_nodejs.sh
#!/bin/bash
#
cd /var/www/html/qiantai/nodejs/smsAdapter ; npm i
su -l www-data -c "cd /var/www/html/qiantai/nodejs/smsAdapter ; pm2 start config/ecosystem.config.js"
su - www-data -c "pm2 list"[154.8.159.209:root@xlp117 /var/www/html/qiantai/nodejs/smsAdapter]# cat stop_nodejs.sh
#!/bin/bash
#

su - www-data -c " pm2 stop all"
su - www-data -c " pm2 del all"
su - www-data -c " pm2 kill"
[154.8.159.209:root@xlp117 /var/www/html/qiantai/nodejs/smsAdapter]# cat reload_nodejs.sh
#!/bin/bash
#
cd /var/www/html/qiantai/nodejs/smsAdapter ; npm i
su - www-data -c " pm2 reload all"
su - www-data -c "pm2 list"[154.8.159.209:root@xlp117 /var/www/html/qiantai/nodejs/smsAdapter]# cat restart_nodejs.sh
#!/bin/bash
#
cd /var/www/html/qiantai/nodejs/smsAdapter ; npm i
su - www-data -c " pm2 restart all"
su - www-data -c "pm2 list"

原文地址:https://www.cnblogs.com/wangzn/p/12565066.html