环境部署

JavaScript环境部署常用的工具有:node npm nvm n

node:在项目开发时所需要的代码库

npm:node的包管理工具,在安装的node的时候,npm也会跟着一起安装,npm管理node中的第三方插件

nvm:node版本管理工具,也就是说:一个nvm可以管理多个node版本和npm版本

n:也是node版本管理工具,n命令是作为一个node的模块而存在,而nvm是一个独立于node/npm的外部shell脚本

由于npm安装的模块路径均为/usr/local/lib/node_modules,当使用n切换不同的node版本时,实际上会共用全局node_modules。因此不能很好的满足『按不同node版本使用不同全局node模块』的需求

安装nvm

nvm

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

如果打开缓慢的话,直接浏览器打开url,复制下来,通过shell执行

或者下载其他版本试试

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

nvm默认会安装到~/.nvm

环境变量会被添加到 ~/.bash_profile~/.zshrc~/.profile~/.bashrc

内容如下:

export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm

需要 source 一下,比如:source ~/.zshrc

卸载全局安装的node/npm

如果使用nvm之前已经安装过node和npm的话,最好清理干净,以mac系统为例:

cd /usr/local/lib,删除node和node_modules

brew uninstall node

检查个人主文件夹下面的所有的local、lib以及include文件夹,删除所有与node和node_modules

清理其他相关的文件和目录,可能不是很全,尽可能地清理的干净点

sudo rm /usr/local/bin/node
sudo rm /usr/local/bin/npm
sudo rm /usr/local/share/man/man1/node.1
sudo rm /usr/local/lib/dtrace/node.d
sudo rm -rf ~/.npm
sudo rm -rf ~/.node-gyp
sudo rm /opt/local/bin/node
sudo rm /opt/local/include/node
sudo rm -rf /opt/local/lib/node_modules

切换淘宝镜像

vim ~/.zshrc

export NVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/mirrors/node/
export NVM_IOJS_ORG_MIRROR=https://npm.taobao.org/mirrors/npm/

source ~/.zshrc

打开终端出现如下提示信息处理

安装完nvm后,重新打开终端可能会提示zsh目录不安全,如有提示,安装下面方式修改下权限即可

# 提示信息:
zsh compinit: insecure directories, run compaudit for list.
Ignore insecure directories and continue [y] or abort compinit [n]?

# 执行compaudit命令
compaudit

# 可能会出现如下信息:
There are insecure directories:
/usr/local/share/zsh/site-functions
/usr/local/share/zsh

# 执行如下命令,可修复该提示
sudo chmod -R 755 /usr/local/share/zsh
sudo chmod -R 755 /usr/local/share/zsh/site-functions
source ~/.zshrc

# 提示信息(可能是brew缓存记录导致的):
compinit:503: no such file or directory: /usr/local/share/zsh/site-functions/_brew_cask

# 执行如下命令,可修复该提示
brew cleanup

使用nvm安装多版本node和npm

安装2个版本的node,如下:

  • nvm install v12.18.2
  • nvm install 10

切换node和npm版本,如下:

  • nvm use 12
  • nvm use 10

可以通过 node -v npm -v 查看切换后的node以及npm版本

列出远程服务器上所有的可用版本

  • nvm ls-remote

列出已安装实例

  • nvm ls

在项目中使用不同版本的node

  • 在项目目录中创建.nvmrc文件来指定要使用的node版本。之后在项目目录中执行nvm use即可

在多环境中,npm如何使用

  • 每个版本的node都会自带一个不同版本的npm,可以用npm -v来查看npm的版本
  • 全局安装的npm包并不会在不同的node环境中共享,因为这会引起兼容问题
  • 它们被放在了不同版本的目录下,例如 ~/.nvm/versions/node/<version>/lib/node_modules</version> 这样的目录
  • 所以在不同版本的npm中,需要 npm install 多次,也可以从本地的其他版本中导入 nvm install v12.18.2 --reinstall-packages-from=10.24.1

直接运行特定版本的node

  • nvm run 12.18.2 --version

在当前终端的子进程中运行特定版本的node

  • nvm exec 12.18.2 node --version

确认某个版本node的路径

  • nvm which 12.18.2

yarn

部分包用npm安装一直报错,可尝试用yarn安装

安装yarn

  • npm i -g yarn

通过yarn下载

  • yarn

results matching ""

    No results matching ""