NPM常用命令及异常处理

291 阅读1分钟

安装

npm install -g [package] // 全局安装
npm install [package] // 安装到当前项目目录但不写入package.json
npm install [package]@[version] // 安装指定版本
npm install [package]save // 安装并写入package.json的dependencies中
npm install [package]save-dev // 安装并写入package.json的devDependencies中
yarn add xxx

升级

npm update <package>
yarn upgrade [package]@[version] 
yarn upgrade [package]@[tag]

删除

npm uninstall [package]
npm uninstall -g [package] // 全局删除
yarn remove [package]

查看

全局安装

npm list -g --depth 0
yarn global list --depth=0

清缓存

// 列出已缓存的包 
yarn cache list 
// 查找缓存包的路径 
yarn cache dir 
// 清除缓存的包 
yarn cache clean

设置

  1. 指定python版本
npm install --python=python2.7
或者
npm config set python python2.7

这样npm install时,如果需要调用node-gyp编译,会使用指定的python执行

  1. 配置.npmrc

查找路径npm config ls -l 用vscode打开vscode [路径]/Users/[username]/.npmrc

  1. nvm切换node版本
nvm install 8.11.1 #下载8.11.1
nvm use 8.9.0 #使用8.9.0
nvm alias default 6.10.0 #设置默认版本
  1. nrm切换npm源
npm i nrm -g
nrm ls
nrm use taobao

查看正在使用的镜像npm config get registry

问题

1、权限不足,写入失败

error An unexpected error occurred: "EACCES: permission denied

解决:

  1. 尝试更改文件夹权限以获得正确的权限
    sudo chmod -R 777 [folderName]
  2. 尝试重装npm包
  • 手动删除node_modules项目的文件夹。
  • 然后yarn installnpm install
  1. sudo运行

2、端口被占用

Error: listen EADDRINUSE: address already in use :::8899

  1. 查看被占用的进程 sudo lsof -i:8899
  2. 杀死进程 sudo kill -9 [pid]

参考资料

stackoverflow.com/questions/5…

zhuanlan.zhihu.com/p/345314156

blog.csdn.net/lanwilliam/…