nodejs安装
2022年9月29日大约 6 分钟
nodejs安装
nvm版本快速切换
node版本发布非常快,而且多版本共存可能性较大,推荐使用nvm来安装node
mac 安装
brew install nvm
#或
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.6/install.sh | bash
#或
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.6/install.sh | bash
#设置环境变量
vim ~/.zshrc
#末尾添加
#NVM镜像
export NVM_NODEJS_ORG_MIRROR=https://npmmirror.com/mirrors/node
export NVM_IOJS_ORG_MIRROR=https://npmmirror.com/mirrors/npm
source ~/.zshrc
windows安装
nvm 不能安装到中文或者有空格的目录
setting.txt
root: D:\nvm
path: D:\nodejs
node_mirror: https://npmmirror.com/mirrors/node/
npm_mirror: https://npmmirror.com/mirrors/npm/
nvm install 版本
nvm use 版本 用管理员权限运行
nvm alias default xx 设置默认版本号
node -v
阿里node 性能监控
# 启动AgentX
agenthub start alinode.json &
# 当您需要 alinode 的内核级监控时,请于启动进程前,添加如下两个环境变量
export ENABLE_NODE_LOG=YES
export NODE_LOG_DIR=/tmp/
node app.js #启动你的node.js 应用。
# 启动应用
ENABLE_NODE_LOG=YES node app.js
使用nrm切换镜像源
npm install -g nrm
nrm ls
* npm ---------- https://registry.npmjs.org/
yarn --------- https://registry.yarnpkg.com/
tencent ------ https://mirrors.cloud.tencent.com/npm/
cnpm --------- https://r.cnpmjs.org/
taobao ------- https://registry.npmmirror.com/
npmMirror ---- https://skimdb.npmjs.com/registry/
#switch registry to cnpm
nrm use cnpm
Registry has been set to: http://r.cnpmjs.org/
pnpm安装 (推荐)
注意安装版本
Node.js | pnpm 4 | pnpm 5 | pnpm 6 | pnpm 7 |
---|---|---|---|---|
Node.js10 | ✓ | ✓ | x | x |
Node.js12 | ✓ | ✓ | ✓ | x |
Node.js14 | ✓ | ✓ | ✓ | ✓ |
Node.js16 | ? | ? | ✓ | ✓ |
Node.js18 | ? | ? | ✓ | ✓ |
Command | Meaning |
---|---|
pnpm add sax | 保存到 dependencies |
pnpm add -D sax | 保存到 devDependencies |
pnpm add -O sax | 保存到 optionalDependencies |
pnpm add -g sax | Install package globally |
pnpm add sax@next | 从 next 标签下安装 |
pnpm add sax@3.0.0 | 安装指定版本 3.0.0 |
# 清除npm缓存
npm cache clean -f
# 安装版本5
npm install pnpm@5 -g
# 查看 store 存储目录的路径
pnpm store path
# 查看源
pnpm config get registry
# 切换淘宝源
pnpm config set registry https://registry.npmmirror.com
# 下载包(XXX)
pnpm install XXX
pnpm i XXX
# -S 默认写入dependencies
pnpm add XXX -S
# -D devDependencies
pnpm add -D
# 全局安装
pnpm add -g
# 要列出所有全局包
pnpm ls -g
# 移除包(XXX)
pnpm remove XXX
# 移除全局包(XXX)
pnpm rm -g <pkg>
pnpm remove XXX --global
# 更新所有依赖项
pnpm up
# 更新包(XXX)
pnpm upgrade XXX
# 更新全局包(XXX)
pnpm upgrade XXX --global
# 设置存储路径
pnpm config set store-dir /path/to/.pnpm-store
# 卸载 pnpm
rm -rf $PNPM_HOME
npm rm -g pnpm
yarn安装
Linux
MAC
brew install yarn
# 用 npm 安装 yarn
npm i -g yarn
# 查看镜像
npm config get registry
# 设置镜像
npm config set registry https://registry.npmjs.o
# 淘宝镜像
yarn config set registry https://registry.npmmirror.c
#初始化一个新的项目
yarn init
#添加一个依赖包 默认安装到dependencies
yarn add [package]
yarn add [package]@[version]
yarn add [package]@[tag]
#加到 devDependencies
yarn add [package] --dev
yarn add [package] -D
#更新一个依赖包
yarn upgrade [package]
yarn upgrade [package]@[version]
yarn upgrade [package]@[tag]
#删除一个依赖包
yarn remove [package]
#安装所有的依赖包
yarn or yarn install
#列出每个缓存的包
yarn cache ls
#清除本地缓存
yarn cache clean
#配置全局包安装路径
yarn config set global-folder "路径"
#配置全局缓存路径
yarn config set cache-folder "路径"
#检查当前yarn 的 bin的 位置
yarn global bin
#检查当前 yarn 的 全局安装位置
yarn global dir
#mac yarn镜像配置文件
/Users/apple/.yarnrc
pm2进程守护
安装:
npm install pm2 -g #安装pm2
pm2 update # 更新pm2
pm2 uninstall pm2 #移除pm2
pm2.json 配置启动信息:
{
"apps": [
{
"name": "mywork", //应用程序名称
"cwd": "/srv/node-app/current", //应用程序所在的目录
"script": "bin/www", //应用程序的脚本路径
"log_date_format": "YYYY-MM-DD HH:mm Z",
"error_file": "/var/log/node-app/node-app.stderr.log", //自定义应用程序的错误日志文件
"out_file": "log/node-app.stdout.log", //自定义应用程序日志文件
"pid_file": "pids/node-geo-api.pid", //自定义应用程序的pid文件
"instances": 6, //启动的线程数量
"min_uptime": "200s", //最小运行时间,这里设置的是60s即如果应用程序在60s内退出,pm2会认为程序异常退出,此时触发重启max_restarts设置数量
"max_restarts": 10, //设置应用程序异常退出重启的次数,默认15次(从0开始计数)
"max_memory_restart": "1M", // 最大重启内存
"cron_restart": "1 0 * * *", //定时启动,解决重启能解决的问题
"watch": false, //是否启用监控模式,默认是false。如果设置成true,当应用程序变动时,pm2会自动重载。这里也可以设置你要监控的文件。
"ignore_watch" : ["node_modules"],//忽略监听
"merge_logs": true,
"exec_interpreter": "node", //应用程序的脚本类型,这里使用的shell,默认是nodejs
"exec_mode": "fork", //应用程序启动模式,这里设置的是cluster_mode(集群),默认是fork
"autorestart": false,//启用/禁用应用程序崩溃或退出时自动重启
"vizion": false // 启用/禁用vizion特性(版本控制)
}
]
}
# 开启关闭:
pm2 start server.js #启动server.js进程
pm2 start server.js -i 4 #启动4个server.js进程
pm2 restart server.js #重启server.js进程
pm2 start app.js -i 4 # cluster mode 模式启动4个app.js的应用实例 # 4个应用程序会自动进行负载均衡
pm2 start app.js --name="api" # 启动应用程序并命名为 "api"
pm2 start app.js --watch # 当文件变化时自动重启应用
pm2 stop all # 停止所有进程
pm2 stop server.js #停止server.js进程
pm2 stop 0 #停止编号为0的进程
pm2 restart all # 重启所有应用
pm2 reload all # 重启 cluster mode下的所有应用
pm2 gracefulReload all # Graceful reload all apps in cluster mode
pm2 delete all # 关闭并删除所有应用
pm2 delete 0 # 删除指定应用 id 0
pm2 scale api 10 # 把名字叫api的应用扩展到10个实例
pm2 reset [app-name] # 重置重启数量
pm2 startup # 创建开机自启动命令
pm2 save # 保存当前应用列表
pm2 resurrect # 重新加载保存的应用列表
# 查看:
pm2 list #查看当前正在运行的进程
pm2 show 0 #查看执行编号为0的进程
# 实时监控:
pm2 monit #监控当前所有的进程
pm2 monit 0 #监控批评行编号为0的进程
pm2 monit server.js #监控名称为server.js的进程
# 日志:
pm2 logs #显示所有日志
pm2 logs 0 #显示执行编号为0的日志
pm2 logs server.js #显示名称为server.js的进程
pm2 flush #清除所有日志
镜像设置
.npmrc 配置文件的作用
.npmrc,可以理解成npm running cnfiguration, 即npm运行时配置文件。简单点说, .npmrc 可以设置 package.json 中依赖包的安装来源,既从哪里下载依赖包。
npmrc 配置文件的优先级
电脑中有多个 .npmrc 文件,在我们安装包的时候,npm按照如下顺序读取这些配置文件
项目配置文件: /project/.npmrc
用户配置文件:~/.npmrc
全局配置文件:$PREFIX/etc/npmrc
npm 内置配置文件 /path/to/npm/npmrc
获取 .npmrc 用户配置文件路径
npm config get userconfig
// /Users/apple/.npmrc
// 如果想恢复默认配置,只需要将用户配置文件~/.npmrc删除即可;
npm config list 查看设置列表
- 设置配置
npm config set registry https://registry.npmmirror.com
npm config set electron_mirror https://mirrors.huaweicloud.com/electron/
npm config set sass_binary_site https://npmmirror.com/mirrors/node-sass/
npm config set phantomjs_cdnurl https://npmmirror.com/mirrors/phantomjs/
- 删除配置
# 可以直接编辑.npmrc文件,也可以使用命令进行删除
npm config delete registry
# 淘宝镜像
https://npmmirror.co
# 开源镜像:
https://npmmirror.com/mirror
# Node.js 镜像:
https://npmmirror.com/mirrors/nod
# alinode 镜像:
https://npmmirror.com/mirrors/alinod
# ChromeDriver 镜像:
https://npmmirror.com/mirrors/chromedrive
# OperaDriver 镜像:
https://npmmirror.com/mirrors/operadrive
# Selenium 镜像:
https://npmmirror.com/mirrors/seleniu
# electron 镜像:
https://npmmirror.com/mirrors/electro
# electron 镜像:(华为)
https://mirrors.huaweicloud.com/electro
node-sass 对应node版本
