bingoogolapple / bingoogolapple.github.io

个人主页。同时也通过 Issues 记录学习笔记
http://www.bingoogolapple.cn
86 stars 22 forks source link

NodeJS学习笔记 #91

Open bingoogolapple opened 8 years ago

bingoogolapple commented 8 years ago

版本管理 nvm

如果之前是在官网下载的 node 安装包,运行后会自动安装在全局目录,其中 node 命令在 /usr/local/bin/node ,npm 命令在全局 node_modules 目录中,具体路径为 /usr/local/lib/node_modules/npm 安装 nvm 之后最好先删除下已安装的 node 和全局 node 模块

npm ls -g --depth=0 #查看已经安装在全局的模块,以便删除这些全局模块后再按照不同的 node 版本重新进行全局安装
sudo rm -rf /usr/local/lib/node_modules #删除全局 node_modules 目录
sudo rm /usr/local/bin/node #删除 node
cd  /usr/local/bin && ls -l | grep "../lib/node_modules/" | awk '{print $9}'| xargs rm #删除全局 node 模块注册的软链

安装 nvm,如果是 zsh,安装完后需要执行 source ~/.nvm/nvm.sh

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.0/install.sh | bash

安装 最新稳定版和 4.2.2 版

nvm install node  #安装最新稳定版,比如这时是 v7.4.0
nvm install 4.2.2 #安装 4.2.2 版本

切换 node 版本

➜  Docker nvm use 7   # 切换到 7.4.0 版本
Now using node v7.4.0 (npm v4.0.5)
➜  Docker node --version
v7.4.0
➜  Docker npm --version
4.0.5
➜  Docker nvm use 4   # 切换到 4.2.2 版本
Now using node v4.2.2 (npm v2.14.7)
➜  Docker node --version
v4.2.2
➜  Docker npm --version
2.14.7
➜  Docker nvm use node  # 切换到默认 node 版本,此时默认的 node 版本就是 7.4.0
Now using node v7.4.0 (npm v4.0.5)
➜  Docker node --version
v7.4.0
➜  Docker npm --version
4.0.5

设置默认版本

nvm alias default 4.2.2    # 设置默认 node 版本为 4.2.2

如果你的默认 node 版本(通过 nvm alias 命令设置的)与项目所需的版本不同,则可在项目根目录或其任意父级目录中创建 .nvmrc 文件,在文件中指定使用的 node 版本号

cd <项目根目录>  #进入项目根目录
echo 4 > .nvmrc #添加 .nvmrc 文件
nvm use #无需指定版本号,会自动使用 .nvmrc 文件中配置的版本
node -v #查看 node 是否切换为对应版本

查看不同版本安装的模块存放路径。安装完成的路径是 /Users/计算机用户名/.nvm/versions/node/版本号/lib/模块名称

➜  Docker nvm which 4.2.2
/Users/bingoogol/.nvm/versions/node/v4.2.2/bin/node
➜  Docker nvm which node
/Users/bingoogol/.nvm/versions/node/v7.4.0/bin/node
bingoogolapple commented 7 years ago

配置镜像仓库

安装 淘宝 NPM 镜像 cnpm

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

或者

npm install -g cnpm --registry=https://registry.npm.taobao.org

或者

alias cnpm="npm --registry=https://registry.npm.taobao.org \
--cache=$HOME/.npm/.cache/cnpm \
--disturl=https://npm.taobao.org/dist \
--userconfig=$HOME/.cnpmrc"

安装 nrm -- NPM registry 管理工具

➜  Docker npm install -g nrm

➜  Docker nrm -h

  Usage: nrm [options] [command]

  Commands:

    ls                           List all the registries
    current                      Show current registry name
    use <registry>               Change registry to registry
    add <registry> <url> [home]  Add one custom registry
    del <registry>               Delete one custom registry
    home <registry> [browser]    Open the homepage of registry with optional browser
    test [registry]              Show response time for specific or all registries
    help                         Print this help

  Options:

    -h, --help     output usage information
    -V, --version  output the version number

➜  Docker nrm current
npm
➜  Docker nrm ls

* npm ---- https://registry.npmjs.org/
  cnpm --- http://r.cnpmjs.org/
  taobao - https://registry.npm.taobao.org/
  nj ----- https://registry.nodejitsu.com/
  rednpm - http://registry.mirror.cqupt.edu.cn/
  npmMirror  https://skimdb.npmjs.com/registry/
  edunpm - http://registry.enpmjs.org/

➜  Docker nrm use taobao

   Registry has been set to: https://registry.npm.taobao.org/

➜  Docker nrm test taobao

* taobao - 262ms

➜  Docker nrm test cnpm

  cnpm --- 3504ms

➜  Docker nrm test npm

  npm ---- 1511ms
bingoogolapple commented 7 years ago
npm install 包名

// 添加到package.json的dependencies中
npm install 包名 --save
// 添加到package.json的devDependencies中
npm install 包名 --save-dev
npm install -g 包名
npm info 包名
npm install 包名@版本号
npm ls
npm uninstall 包名
npm uninstall 包名 --save
// 检查更新  package.json里的dependencies前的^表示可以更新版本号的第二位,~表示可以更新版本号的第三位,*表示可以更新所有版本号
npm outdated
npm update
bingoogolapple commented 7 years ago

热部署 supervisor

npm install -g supervisor
supervisor app.js

调试

npm install -g iron-node
iron-node app.js

npm install -g node-inspector
node-debug app.js
bingoogolapple commented 4 years ago

npm、yarn 查看源和换源

npm config get registry  // 查看 npm 当前镜像源

npm config set registry https://registry.npm.taobao.org/  // 设置 npm 镜像源为淘宝镜像

yarn config get registry  // 查看 yarn 当前镜像源

yarn config set registry https://registry.npm.taobao.org/  // 设置 yarn 镜像源为淘宝镜像
npm - https://registry.npmjs.org/
cnpm - http://r.cnpmjs.org/
taobao - https://registry.npm.taobao.org/
bingoogolapple commented 2 years ago
npm install -g nrm
nrm ls
nrm use taobao

npm install -g yarn
npm install -g yrm
yrm ls
yrm use taobao