nodejs的安装使用
一、nodejs介绍
-
Node.js 就是运行在服务端的 JavaScript。
-
Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台。
-
Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好。
-
为什么要安装Node.js呢,下面用到的Grunt 工具是基于Node.js 使用的
-
下载地址:https://nodejs.org/en/download/releases/
-
选择版本下载, 一直下一步确定即可,安装后进入命令行中 输入 :
-
node -v # 显示版本号即安装成功
-
二、安装node
-
安装 Node.js 的时候,npm 也会一起被安装(node和npm的执行文件都在node安装目录的bin目录下)。
-
npm(node package manager):nodejs的包管理器,用于node插件管理(包括安装、卸载、管理依赖等)
-
这里介绍centos系统安装和nodejs的方法
-
1. nodejs和npm可以通过EPEL存储库安装,所以要启用EPEL存储库 yum install epel-release 2. 安装nodejs yum install nodejs node -v # 显示版本号即nodejs安装成功 3. 安装npm yum install npm npm -v # 显示版本号即npm安装成功 # 上面的安装只会安装最新版的nodejs************************ # 想要安装指定版本的nodejs,可以使用weget命令在https://nodejs.org/en/download/releases/网站上选择指定版本下载,然后解压,配置环境变量,例如: 1. 切换到想要安装的目录下 cd /opt/project 2. 下载nodejs wget https://nodejs.org/download/release/v14.1.0/node-v14.1.0-linux-x64.tar.gz 3. 解压 tar -zxvf node-v14.6.0-linux-x64.tar.gz 4. 重命名解压目录 mv node-v14.6.0-linux-x64 nodejs 5. 配置环境变量 vim /etc/profile # 在最下行加入下面的内容 #node NODE_HOME=/opt/project/nodejs export PATH=$NODE_HOME/bin:$PATH 6. 重新加载环境变量 source /etc/profile 7. 查看是否成功 node -v # 显示版本号即nodejs安装成功 npm -v # 显示版本号即npm安装成功
-
npm get registry # 查看npm镜像地址,输出默认npm源:https://registry.npmjs.org/
三、npm换源
#切换淘宝源
npm config set registry https://registry.npmmirror.com
#查看是否成功
npm config get registry
#或者
npm get registry
#可以看到输出 https://registry.npmmirror.com
这里还提供了一些其他npm的源
npm 官方原始镜像网址是:https://registry.npmjs.org/
淘宝最新 NPM 镜像:https://registry.npmmirror.com # https://registry.npm.taobao.org/ 已经过期
阿里云 NPM 镜像:https://npm.aliyun.com
腾讯云 NPM 镜像:https://mirrors.cloud.tencent.com/npm/
华为云 NPM 镜像:https://mirrors.huaweicloud.com/repository/npm/
网易 NPM 镜像:https://mirrors.163.com/npm/
中科院大学开源镜像站:http://mirrors.ustc.edu.cn/
清华大学开源镜像站:https://mirrors.tuna.tsinghua.edu.cn/
腾讯,华为,阿里的镜像站基本上比较全
四、安装cnpm
- 因为npm安装插件是从国外服务器下载,受网络的影响比较大,可能会出现异常,如果npm的服务器在中国就好了,所以我们乐于分享的淘宝团队干了这事。来自官网:“这是一个完整npmjs.org 镜像,你可以用此代替官方版本(只读),同步频率目前为 10分钟 一次以保证尽量与官方服务同步。”
# -g 参数是将模块安装到全局,具体安装到磁盘哪个位置,要看npm config prefix的位置
npm install -g cnpm --registry=https://registry.npm.taobao.org
#查看是否安装成功
cnpm -v
#成功后可以使用cnpm代替npm命令
五、改变原有的环境变量
5.1 配置组件和缓存目录
- 配置npm的全局模块的存放路径、cache的路径
npm config set prefix "路径"
npm config set cache "路径"
# 如: 找到安装目录,在安装目录下新建两个文件夹node_global和node_cache,然后使用管理员身份打开cmd命令窗口;输入下面两行运行;运行后无报错就是成功。
# 其中node_global用于存放下载的组件,而node_cache用于做缓存
npm config set prefix "你的安装路径\node_global"
npm config set cache "你的安装路径\node_cache"
5.2 配置环境变量
# “你的安装目录” 一般就叫 nodejs
1. 在【系统变量】中点击【新建】;变量名:NODE_PATH ;变量值
你的安装目录\node_global\node_modules
2. 把node根目录和全局组件目录添加到【环境变量】path中
你的安装目录
你的安装目录\node_global
- 第1步如下图
- 第2步如下图
六、npm命令
6.1 npm相关命令
1. 设置npm路径
#全局安装路径
npm config set prefix "D:\Program Files\nodejs\node_global"
#缓存路径
npm config set cache "D:\Program Files\nodejs\node_cache"
2. 设置镜像
#淘宝镜像源
npm config set registry https://registry.npmmirror.com
#腾讯云镜像源
npm config set registry http://mirrors.cloud.tencent.com/npm/
#华为云镜像源
npm config set registry https://mirrors.huaweicloud.com/repository/npm/
# 官方默认全局镜像源
npm config set registry https://registry.npmjs.org
#查看当前镜像源
npm config get registry
3. 常用命令简写说明
-g: #--global 的缩写,表示安装到全局目录里
-S: #--save 的缩写,表示安装的包将写入package.json里面的dependencies
-D: #--save-dev 的缩写,表示将安装的包将写入packege.json里面的devDependencies
i: #install的缩写,表示安装
4. 安装包
npm init # npm 初始化当前目录
npm i # 安装所有依赖(在npm中,每个项目都有一个package.json文件,里面是该项目的元数据和依赖信息,当我们在该项目的package.json同目录下,运行npm install 命令时,npm会帮我们安装其所需要的所有依赖)
npm install # 安装所有依赖
npm i express # 安装模块到默认dependencies
# 安装指定版本和临时源
npm install -g express@2.5.8 --registry=https://registry.npmmirror.com
npm i express -g # 会安装到配置的全局目录下
npm i express -S # 安装包信息将加入到dependencies生产依赖
npm i express -D # 安装包信息将加入到devDependencies开发依赖
5. 卸载包
npm uninstall express # 卸载模块,但不卸载模块留在package.json中的对应信息
npm uninstall express -g # 卸载全局模块
npm uninstall express --save # 卸载模块,同时卸载留在package.json中dependencies下的信息
npm uninstall express --save-dev # 卸载模块,同时卸载留在package.json中devDependencies下的信息
6. 更新包
npm update express # 更新最新版本的express
npm update express@2.1.0 # 更新到指定版本号的express
npm update express@latest # 更新到最后的新版本
7. 查看命令
npm -v #查看版本号
npm root # 查看项目中模块所在的目录
npm root -g # 查看全局安装的模块所在目录
npm list 或者 npm ls # 查看本地已安装模块的清单列表
npm view express dependencies # 查看某个包对于各种包的依赖关系
npm view express version # 查看express最新的版本号
npm view express versions # 查看所有express历史版本号(很实用)
npm view express # 查看最新的express版本的信息
npm info express # 查看express的详细信息,等同于上面的npm view express
npm list express 或 npm ls express # 查看本地已安装的express的详细信息
npm view express repository.url # 查看express包的来源地址
8. 其他命令
npm cache clean # 清除npm的缓存
npm prune # 清除项目中没有被使用的包
npm outdated # 检查模块是否已经过时
npm repo express # 会打开默认浏览器跳转到github中express的页面
npm docs express # 会打开默认浏览器跳转到github中express的README.MD文件信息
npm home express # 会打开默认浏览器跳转到github中express的主页
npm install -g npm@9.8.1 # 升级npm
9. 通过使用淘宝定制的cnpm安装
npm install -g cnpm --registry=https://registry.npmmirror.com
# 查看版本号
cnpm -v
6.2 yarn用法
1、安装yarn
npm install -g yarn
2、安装成功后,查看版本号:
yarn --version
3、初始化项目
yarn init # 同npm init,执行输入信息后,会生成package.json文件
yarn的配置项:
yarn config list # 显示所有配置项
yarn config get <key> # 显示某配置项
yarn config delete <key> # 删除某配置项
yarn config set <key> <value> [-g|--global] #设置配置项
yarn config set registry https://registry.npmmirror.com # 添加淘宝源
4、安装包:
yarn install # 安装package.json里所有包,并将包及它的所有依赖项保存进yarn.lock
yarn install --flat # 安装一个包的单一版本
yarn install --force # 强制重新下载所有包
yarn install --production # 只安装dependencies里的包
yarn install --no-lockfile # 不读取或生成yarn.lock
yarn install --pure-lockfile # 不生成yarn.lock
5、添加包(会更新package.json和yarn.lock)
yarn add [package] # 在当前的项目中添加一个依赖包,会自动更新到package.json和yarn.lock文件中
yarn add [package]@[version] # 安装指定版本,这里指的是主要版本,如果需要精确到小版本,使用-E参数
yarn add [package]@[tag] # 安装某个tag(比如beta,next或者latest)
# 不指定依赖类型默认安装到dependencies里,你也可以指定依赖类型:
yarn add --dev/-D # 加到 devDependencies
yarn add --peer/-P # 加到 peerDependencies
yarn add --optional/-O # 加到 optionalDependencies
# 默认安装包的主要版本里的最新版本,下面两个命令可以指定版本:
# 安装包的精确版本。例如yarn add test@1.2.3会接受1.9.1版,但是yarn add test@1.2.3 --exact只会接受1.2.3版
yarn add --exact/-E
# 安装包的次要版本里的最新版。例如yarn add foo@1.2.3 --tilde会接受1.2.9,但不接受1.3.0
yarn add --tilde/-T
6、发布包
yarn publish
7、移除一个包
yarn remove <packageName>:移除一个包,会自动更新package.json和yarn.lock
8、更新一个依赖
yarn upgrade 用于更新包到基于规范范围的最新版本
9、运行脚本
yarn run 用来执行在 package.json 中 scripts 属性下定义的脚本
10、显示某个包的信息
yarn info <packageName> 可以用来查看某个模块的最新版本信息
11、缓存
yarn cache
yarn cache list # 列出已缓存的每个包
yarn cache dir # 返回 全局缓存位置
yarn cache clean # 清除缓存
6.2.1 npm和yarn对比
npm | yarn |
---|---|
npm install | yarn |
npm install 依赖包名 --save-dev | yarn add 依赖包名 --dev |
npm install 依赖包名 --save | yarn add 依赖包名 |
npm run serve | yarn serve |
npm run build | yarn build |
6.3 pnpm用法
# 安装指定版本pnpm
npm install -g pnpm@6.32.2
#安装软件包及其依赖的任何软件包 如果workspace有配置会优先从workspace安装
pnpm add <pkg>
#安装项目所有依赖
pnpm install
#更新软件包的最新版本
pnpm update
#移除项目依赖
pnpm remove
#运行脚本
pnpm run
#创建一个 package.json 文件
pnpm init
#以一个树形结构输出所有的已安装package的版本及其依赖
pnpm list
七、npm的相关问题
7.1 sill idealTree buildDeps问题
问题:npm install 时一直 sill idealTree buildDeps 或 yarn 一直 info There appears to be trouble with your network connection. Retrying...
解决方法:
一、 网上提到最多的方法 【换源】
由于项目用的源可能是某些公司内部源或者外网源,可以执行 npm config get registry 命令,把输出的源地址复制到浏览器看看是否能打开,能打开的一般能用,那就不是源的问题,否则换一个源,如:npm config set registry https://registry.npmmirror.com
项目内始终无法换源:修改.npmrc/.yarnrc里的registry,直接把文件删掉也可以
二、 node版本过高
16.0版本以上的node不行,用nvm(类似python的conda,可以在一台服务器上安装、使用各个版本的nodejs)换一个低版本就能装咯
三、 其他
卸载node重装/换一个网/删除package-lock.json和node_modules,npm cache clean --force重装试试