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基础知识
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
如果在一个项目中我们同时使用了npm
和yarn
(不建议这样做),npm
和yarn
安装的包都会被记录在package.json
中。但是他们会有各自的lock
文件。
如果你的项目中同时有pakage-lock.json
和yarn.lock
,你可以选择提交其中的任意的一个。如果你希望他人通过npm
来进行依赖包的安装,你应该选择提交pakage-lock.json
;如果你希望他人通过yarn
来进行依赖包的安装,你应该提交yarn.lock
。如果你希望他人自行决定是使用npm
还是yarn
,你应该提交pakage-lock.json
和yarn.lock
这两个文件,但是这有可能造成不同步的问题。
yarn
从1.7.0
版本开始,yarn import
命令可以利用pakage-lock.json
来生成依赖包,详见官方文档。
使用工具转换lock文件
npm install -g synp
- yarn.lock转换成package-lock.json
synp --source-file /path/to/yarn.lock
- 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,目前只能手动解决
解决方法:
- 手动下载最新npm,解压后把文件移动到
nvm\版本号\node_modules\npm\
- 然后在该目录下进入
bin
,复制npm
和npm.cmd
到nvm\版本号\
- 切换到这个版本
nvm use 版本号