Window下前端环境的配置

前言

  1. 每次更换新机器,如果能保持工具集的统一,符合一直以来的习惯,能增加个人快乐
  2. 遇到各种报错,可尝试用管理员身份运行命令和软件

Node

为了 能在不同的项目环境中切换,需要在系统中搭建多版本共存的node环境。

第一次 在系统中搭建node时,建议直接采用下述Nvm(nvm-windows)的方式进行搭建。

非第一次 的情况下,必须完全移除现有的node环境(核心安装包、环境变量),然后再进行Nvm搭建。

卸载已安装过的nodejs

  1. 从控制面板找到卸载程序,将nodejs卸载掉
  2. 重新启动(或者您可能会从任务管理器中杀死所有与节点相关的进程)
  3. 找下面这些文件夹并删除它们(及其内容)(如果还有)。根据您安装的版本,UAC设置和CPU架构,这些可能或可能不存在:

C:\Program Files (x86)\Nodejs

C:\Program Files\Nodejs

C:\Users{User}\AppData\Roaming\npm(或%appdata%\npm)

C:\Users{User}\AppData\Roaming\npm-cache(或%appdata%\npm-cache)

  1. 检查下%PATH%环境变量(我的电脑->右键属性->高级系统设置->环境变量),保证没有引用Nodejs或者npm
  2. 如果仍然没有卸载,请where node在命令提示符下键入,您将看到它所在的位置 - 删除(也可能是父目录)
  3. 可重启电脑尝试解决上述

Nvm

nvm就是nodejs version manage 叫做nodejs 版本管理。

  1. 下载 nvm-windows 选择下载nvm-setup.zip (.exe),解压后直接安装即可。注意下述情况:
  • 问题: exit code 1、命令不能识别、提示乱码
  • nvm的安装路径中不能有中文、空格和特殊字符;最好使用全英文
  • (理论上初次 )使用管理员权限来运行cmd
  • 可以检查nvm的setting.txt文件中的路径是否一致
  • select Node Symlink: 后续会关注使用的node版本
  1. 常见命令
  • nvm version #查看nvm版本
  • nvm (list) ls #查看已经安装的版本
  • nvm ls installed #查看已经安装的版本
  • nvm ls available #查看网络可以安装的版本
  • nvm install || latest #安装指定版本的node
  • 这里有坑,见3; 有些node<8.11.+>版本的npm不能自动的安装】
  • nvm uninstall 卸载指定版本node
  • nvm use #切换使用指定的版本node
  • 在安装新的nodejs和npm后,在安装某些依赖包时可能会报错,按如下解决:
  • 先 npm cache clean --force,再 npm install 即可
  • root、node_mirror [url]、npm_mirror [url]
  • alias、on、off
  1. 经过上述操作,nvm已正常可用。但会出现上述npm不能成功的情况。建议直接手动下载node版本文件,解压放到nvm的安装目录里即可。
  1. 配置node_global、node_modules路径,指定全局安装路径和缓存路径 【建议配置】
  • 待成功安装node版本后,在nvm安装目录下创建"node_global"和"node_cache"两个文件夹
  • 进入cmd,输入以下命令进行设置:
  • npm config set prefix "D:\nvm\node_global" //设置全局模块的安装路径
  • npm config set cache "D:\nvm\node_cache" //设置缓存到node_cache文件夹
  • 把node_global路径加入到系统环境变量path中,方便直接使用命令行运行。
  • 新增NODE_PATH,值为安装目录下的nodejs
  1. 参考链接

Npm

  1. 版本号

npm的版本号分三个部分:主版本号.次版本号.补丁版本号

  • 主版本号: 当API发生改变,并与之前的版本不兼容的时候
  • 次版本号: 当增加了功能,但是向后兼容的时候
  • 补丁版本号: 当做了向后兼容的缺陷修复的时候
  1. ~ 、 ^ 和 *
  • ~ 会匹配最近的小版本依赖包,比如~1.2.3会匹配所有1.2.x版本,但是不包括1.3.0
  • ^ 会匹配最新的大版本依赖包,比如^1.2.3会匹配所有1.x.x的包,包括1.3.0,但是不包括2.0.0
  • 什么前缀也没有,比如1.2.3,指定特定的版本
  • *安装最新版本的依赖包。可能会造成版本不兼容,慎用
  1. 常见命令
  • npm -v:查看版本号
  • npm root -g:查看全局安装模块的目录
  • npm config list:查看配置信息,比如npm源等
  • npm init:初始化package.json。参数-y跳过输入自动生成
  • npm install:根据package.json的配置安装插件。缩写npm i
  • npm i 包名:安装某包。缩写npm i 包名。
  • 参数-g全局安装;
  • 参数--save(缩写-S)保存到package.json的生产依赖中;
  • 参数--save-dev(缩写-D)保存到package.json的开发环境依赖中
  • npm update:更新。参数类似npm install。不带包名表示package.json里面的所有依赖更新
  • npm uninstall:卸载。参数类似npm install。不带包名表示卸载package.json里面的所有依赖
  • npm run dev:执行dev命令。dev是在package.json的scripts中配置的命令
  • npm publish: 将打包好的文件上传到npm仓库中,通常需要配合package.json中的配置项
  • npm install --production:只有dependencies节点下的模块会下载到node_modules目录中,devDependencies节点下的模块不会下载到node_modules目录

devDependencies节点下的模块是我们在开发时需要用的,比如项目中使用的 gulp ,压缩css、js的模块。

这些模块在我们的项目部署后是不需要的,所以我们可以使用 -save-dev 的形式安装。

像 express 这些模块是项目运行必备的,应该安装在 dependencies 节点下,所以我们应该使用 -save 的形式安装。

  1. 这里就可以使用nrm来更换源的地址哦

命令大全

  1. 查看npm版本
arduino 复制代码
# 设置全局的npm淘宝镜像
npm config set registry https://registry.npm.taobao.org
# 也可以切换回默认全局镜像
npm config set registry https://registry.npmjs.org
  1. npm命令简写
css 复制代码
-g: 为 --global 的缩写,表示安装到全局目录里
-S: 为 --save 的缩写,表示安装的包将写入package.json里面的dependencies
-D: 为 --save-dev 的缩写,表示将安装的包将写入packege.json里面的devDependencies
 i: 为install的缩写,表示安装
  1. npm安装模块
csharp 复制代码
npm init  # npm 初始化当前目录
npm i  # 安装所有依赖
npm i express  # 安装模块到默认dependencies
npm i express -g  # 会安装到配置的全局目录下
npm i express -S  # 安装包信息将加入到dependencies生产依赖
npm i express -D  # 安装包信息将加入到devDependencies开发依赖
npm i jquery@1.8.3  # 安装jquery指定的1.8.3版本
  1. npm卸载模块
bash 复制代码
npm uninstall express  # 卸载模块,但不卸载模块留在package.json中的对应信息
npm uninstall express -g  # 卸载全局模块
npm uninstall express --save  # 卸载模块,同时卸载留在package.json中dependencies下的信息
npm uninstall express --save-dev  # 卸载模块,同时卸载留在package.json中devDependencies下的信息
  1. npm更新模块
  1. npm查看命令
  2. npm其他命令

Nrm

nrm(npm registry manager )是npm的镜像源管理工具,有时候国外资源太慢,使用这个就可以快速地在 npm 源间切换。

  1. 选定node运行版本后,执行命令:npm install -g nrm,全局安装nrm
  • 安装完成后,执行nrm ls,如果提示找不到命令,则打开nrm安装目录下cli.js,17行,将将变量NRMRC的值由path.join(process.env.HOME, '.nrmrc');改为path.join('HOME', '.nrmrc'); 之后再次尝试使用, 结果正常
  • npm install -g nrm open@8.4.2 --save
  1. nrm常见命令
  • nrm ls #查看可选源
  • nrm add <registry名称> <url地址> #添加源
  • nrm use <registry名称> #切换源
  • nrm del <registry名称> #删除源
  • nrm test <registry名称> #测试源速度 (响应时间)

Git

......

相关推荐
无咎.lsy2 分钟前
vue之vuex的使用及举例
前端·javascript·vue.js
fishmemory7sec9 分钟前
Electron 主进程与渲染进程、预加载preload.js
前端·javascript·electron
fishmemory7sec12 分钟前
Electron 使⽤ electron-builder 打包应用
前端·javascript·electron
豆豆1 小时前
为什么用PageAdmin CMS建设网站?
服务器·开发语言·前端·php·软件构建
twins35202 小时前
解决Vue应用中遇到路由刷新后出现 404 错误
前端·javascript·vue.js
qiyi.sky2 小时前
JavaWeb——Vue组件库Element(3/6):常见组件:Dialog对话框、Form表单(介绍、使用、实际效果)
前端·javascript·vue.js
煸橙干儿~~2 小时前
分析JS Crash(进程崩溃)
java·前端·javascript
安冬的码畜日常2 小时前
【D3.js in Action 3 精译_027】3.4 让 D3 数据适应屏幕(下)—— D3 分段比例尺的用法
前端·javascript·信息可视化·数据可视化·d3.js·d3比例尺·分段比例尺
l1x1n03 小时前
No.3 笔记 | Web安全基础:Web1.0 - 3.0 发展史
前端·http·html
昨天;明天。今天。3 小时前
案例-任务清单
前端·javascript·css