npm 工具详解
目录
¶查看 npm & node 版本
由于前端项目具有明确的版本要求,然而使用 Linux 系统软件源进行安装的版本比较落后,此时进行项目的运行通常会产生诸多问题,因此需要进行软件的升级
1 | npm -v |
¶配置淘宝 npm 镜像源
访问一部分外围镜像时延较长,因此可以选用国内的 npm 镜像下载
1 | npm install -g cnpm --registry=https://registry.npm.taobao.org |
而后使用npm
进行的命令都可以相应的换成cnpm
使用
FAQ
也许是淘宝不经常维护这个网站,通常使用
cnpm
安装包时依旧存在一些依赖关系。此时,仍然需要使用 npm 进行安装
¶使用 npm 命令管理模组
1 | npm install <Module Name> #安装模组 |
FAQ
如何不指定模组姓名,会在当前目录中查找package.json
解析包之间的依赖关系,从而进行包的安装
¶安装配置 node.js
系统给我们提供了对node.js
的管理工具:n
1 | npm install -g n # n管理工具的安装 |
使用n
工具安装、更新 node.js 具有两种方式:
- 直接使用 n 进行下载安装
- 自行到官网下载源代码,而后解压在 n 管理工具的目录下
¶使用 n 进行下载安装
1 | n 13.11.0 #会自动前往node官网下载 |
软件包下载完成之后,默认已经将下载的 node 作为当前使用的 node,可以node -v
进行查看检验
¶通过官网下载安装
Node 官网已经把 linux 下载版本更改为已编译好的版本了,我们可以直接下载解压后使用:
1 | wget https://nodejs.org/dist/v10.9.0/node-v10.9.0-linux-x64.tar.xz // 下载 |
使用 ln 命令来设置软连接,将解压文件的bin
目录下的相关命令放置到系统环境变量中
1 | ln -s /YOUR/INSTALL/PATH/nodejs/bin/npm /usr/local/bin/ |
配置国内镜像源
1 | npm config set registry http://registry.npm.taobao.org |
FAQ
使用
n
下载相关软件时,中途不要出现中断下载任务等情况,否则最终会由于 node 下载不完整,而盲目的将 node 版本切换过去,系统将会出现Segmentation fault
.此时,需要借助 n 切换 node 的版本,然后删除出现故障的版本
1 | n #选择完好的node版本进行切换 |
¶常见问题总结
¶迁移项目的重新配置
如果项目只是简单的拷贝,则在运行npm run dev
时可能会出现Node Sass does not yet support your current environment:...
问题。这是由于缺少了相关依赖造成的,因此需要重新编译相关源代码
1 | npm rebuild node-sass |
¶Error: Cannot find module ‘semver’
升级node
使得npm
和node
版本不匹配,造成最终能够使用 node 但是不能使用 npm
解决方法:将安装的最新版 node 以及旧版的 npm 应用均删除.再根据能够使用 npm 选择是否重新安装
1 | which npm |
¶配置 node 依赖和缓存文件
如果安装node
时没有做任何配置,全局安装的包将存在于系统的 C 盘中,此时最好将相关下载依赖移动到非 C 盘路径下
- 首先使用
npm config ls -l
或npm config list
查看默认配置,如果默认安装则一般配置都是
1 | prefix = "C:\\Users\\Lenovo\\AppData\\Roaming\\npm"; |
- 重新配置
1 | npm config set prefix D:\develop\nodejs\node_global\npm |
- 查看修改后配置
1 | npm config get cache #查看cache 配置 |
¶No parser and no filepath given, using ‘babel’ the parser now but this will throw an error in…
出现的原因是Vue-loader
的版本每跟上其他包的版本导致解析器不运行
通过将 Vue-loader 更新到 14.2.4 就可以解决了
1 | npm install -S vue-loader@14.2.4 |
¶node-sass 安装失败
npm 安装 node-sass 依赖时,会从 github.com 上下载 .node 文件。由于国内网络环境的问题,这个下载时间可能会很长,甚至导致超时失败,使用其他源就可以解决
1 | npm i node-sass --sass_binary_site=https://npm.taobao.org/mirrors/node-sass/ |
¶cnpm 无法使用
在 Linux 下安装的npm
由于脚本所在位置不同,所以存在系统找不到命令的情况,只需要将安装的脚本也加入到系统的环境变量中就可以了
1 | npm uninstall cnpm -g # 先删除已经安装的cnpm |
¶node 版本升级
可以使用模块管理工具 n
的命令对 node 进行升级
命令 | 含义 |
---|---|
升级到指定版本 | n VERSION ,如n 10.0.0 |
安装最新的版本 | n latest |
安装最近的稳定版本 | n stable |
¶附录
C 盘清理,移动 node 依赖和缓存文件
node-sass 安装失败报错的原因及解决办法(整理)
No parser and no filepath given, using ‘babel’ the parser now but this will throw an error in …
Module build failed: Error: Node Sass does not yet support your current environment: OS X 64-bit wit
npm 安装 chromedriver 失败的解决办法
node 版本如何升级