npm

局部安装

在项目中局部安装包会在node_modules\.bin目录下创建软连接

设置淘宝镜像

 npm config set registry https://registry.npm.taobao.org
 npm config set sass_binary_site https://npm.taobao.org/mirrors/node-sass/

恢复镜像地址

npm config set registry https://registry.npmjs.org

生产环境

在生产环境中,应该使用npm i --production忽略开发依赖,只安装基本依赖

npm基础知识

你所需要的npm知识储备都在这了

yarn

设置淘宝镜像

yarn config set registry https://registry.npm.taobao.org -g
yarn config set sass_binary_site https://npm.taobao.org/mirrors/node-sass/ -g

恢复镜像地址

yarn config set registry https://registry.yarnpkg.com

pakage-lock.json和yarn.lock

如果在一个项目中我们同时使用了npmyarn(不建议这样做),npmyarn安装的包都会被记录在package.json中。但是他们会有各自的lock文件。 如果你的项目中同时有pakage-lock.jsonyarn.lock,你可以选择提交其中的任意的一个。如果你希望他人通过npm来进行依赖包的安装,你应该选择提交pakage-lock.json;如果你希望他人通过yarn来进行依赖包的安装,你应该提交yarn.lock。如果你希望他人自行决定是使用npm还是yarn,你应该提交pakage-lock.jsonyarn.lock这两个文件,但是这有可能造成不同步的问题。
yarn1.7.0版本开始,yarn import命令可以利用pakage-lock.json来生成依赖包,详见官方文档。

使用工具转换lock文件

  1. npm install -g synp
  2. yarn.lock转换成package-lock.json synp --source-file /path/to/yarn.lock
  3. package-lock.json转换成yarn.lock synp --source-file /path/to/package-lock.json

参考:https://www.jianshu.com/p/9ae748598f1a

生产环境

yarn install --production[=true|false]

如果 NODE_ENV 环境变量设为 production,Yarn 将不安装任何列于 devDependencies 的包。 使用此标志指示 Yarn 忽略 NODE_ENV 并用它取代“生产”与否的状态。

nvm-widnows

不能下载npm

最近遇到了一个坑,nvm安装新得node环境时不能自动安装npm,在 github issues上找到了解决办法。
原因:
npm迁移仓库导致地址改变,不能正常下载,但是nvm-windows作者一直没有修复这个bug,目前只能手动解决
解决方法:

  1. 手动下载最新npm,解压后把文件移动到nvm\版本号\node_modules\npm\
  2. 然后在该目录下进入bin,复制npmnpm.cmdnvm\版本号\
  3. 切换到这个版本nvm use 版本号