前言

在使用node的过程中,用npm安装一些模块,特别是全局包的时候,由于Mac系统安全性的限制,经常出现安装没有权限,或者安装完成使用时出现Command not found的情况。

之前我都是通过使用修改权限的方式来解决,但是太麻烦又感觉不太安全,于是我就到网上找解决的方法,发现其实官方也是推荐我们使用node的管理工具来解决这个问题的。官方推荐了两个nnvm,这里我选择的是nvm

至于两者的区别可以看一下淘宝团队的一篇文章管理node版本,选择nvm还是n?

安装

这篇文章主要想说的就是在Mac下nvm的安装和遇到的问题。

注意:不要使用Homebrew安装nvm,这个在nvm的官方文档中有说明。

具体的步骤如下:

首先打开终端,进入当前用户的home目录中。

cd ~
复制代码

然后使用ls -a显示这个目录下的所有文件(夹)(包含隐藏文件及文件夹),查看有没有.bash_profile这个文件。

ls -a
复制代码

如果没有,则新建一个。

touch ~/.bash_profile
复制代码

如果有或者新建完成后,我们通过官方的说明在终端中运行下面命令中的一种进行安装:

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash
复制代码
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash
复制代码

在安装完成后,也许你会在终端输入nvm验证有没有安装成功,这个时候你会发现终端打出Command not found,其实这并不是没有安装成功,你只需要重启终端就行,再输入nvm就会出现Node Version Manager帮助文档,这表明你安装成功了。

注意

这里需要注意的几点就是:

第一点 不要使用homebrew安装nvm

第二点 关于.bash_profile文件。如果用户home目录下没有则新建一个就可以了,不需要将下面的两段代码写进去,因为你在执行安装命令的时候,系统会自动将这两句话写入.bash_profile文件中。网络上我找了好多文章都是说在安装前先手动写进去,经过测试这是没有必要的,而且好像会造成安装不成功,这一点需要注意一下。

export NVM_DIR="${XDG_CONFIG_HOME/:-$HOME/.}nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
复制代码

一些常见的nvm命令

nvm ls-remote 列出所有可安装的版本

nvm install <version> 安装指定的版本,如nvm install v8.14.0

nvm uninstall <version> 卸载指定的版本

nvm ls 列出所有已经安装的版本

nvm use <version> 切换使用指定的版本

nvm current 显示当前使用的版本

nvm alias default <version> 设置默认node版本

node被安装在哪里

在终端我们可以使用which node来查看我们的node被安装到了哪里,这里终端打印出来的地址其实是你当前使用的node版本快捷方式的地址。

/Users/你的用户名/.nvm/versions/node/v10.13.0/bin/node
复制代码

如果你想查看所有node版本的安装文件夹,我们可以在访达(finder)中使用快捷键Command+Shift+G输入/Users/你的用户名/.nvm/versions地址就可以看到。

但是这里想说的是Mac默认是不显示隐藏文件夹的,.nvm是个隐藏文件夹在访达(finder)中看不到,直接输入地址是无效的,在Mac下显示隐藏文件的快捷键是Command+Shift+.,关闭也是这个快捷键。

看!这是我的!

这是在v8.14.0版本nodelibnode_modules下的模块,可以看到我刚刚安装的cnpmelectron

但是在v10.13.0同样的目录下只有npm

所以可以知道在nvmnode版本管理方式,安装的模块不是公用的,也就是说你在切换版本后需要在切换的版本下重新安装,这一点和n是不同的,当然这也是它的优势。

转载于:https://juejin.im/post/5c2197ad6fb9a04a0e2d37ca

在Mac下安装nvm管理node 1相关推荐

  1. 在Mac下安装nvm管理node

    前言 在使用node的过程中,用npm安装一些模块,特别是全局包的时候,由于Mac系统安全性的限制,经常出现安装没有权限,或者安装完成使用时出现Command not found的情况. 之前我都是通 ...

  2. mac下安装nvm以及node

    先说一下nvm,node,npm之间的区别吧. 1. nvm的官方叫法:nodejs版本管理工具. nvm相当于是家长,一个家长可以管理多个孩子.也就是说:一个nvm可以管理很多node版本和npm版 ...

  3. window下安装nvm、node.js、npm的步骤

    1.下载nvm(nodejs版本管理工具) https://github.com/coreybutler/nvm-windows/releases 下载nvm-noinstall.zip,解压即可使用 ...

  4. windows下使用nvm管理node版本

    vnm是什么 nvm是node版本的管理工具,为了解决node各种版本存在不兼容现象,它让我们可以在一台电脑中安装多个node版本,可以根据项目来切换使用指定版本的node.瓷片文章记录学习一下nvm ...

  5. mac系统下载nvm管理node版本

    前端不同的项目的依赖包可能需要安装不同的node版本,那么在切换项目的时候用nvm切换node版本比卸载载安装新的node版本会方便很多 之前安装的nvm在电脑终端使用nvm use node命令切换 ...

  6. Mac下安装Vundle管理YouCompleteMe插件

    vim按键说明 除了上面简易范例的 i, o,a,Esc, :wq 之外,其实 vim 还有非常多的按键可以使用 这些基本命令需要我们在使用过程中不断的总结,这样才会融会贯通.附上一张vim的键盘图, ...

  7. linux下安装nvm进行node的版本的快速切换

    NVM是什么? nvm (Node Version Manager) 是Nodejs版本管理器,可对不同的node版本快速进行切换. 为什么要用NVM? 基于node的工具和项目越来越多,但是每个项目 ...

  8. Mac OSX 安装nvm(node.js版本管理器)

    我的系统 1.打开github官网https://github.com/,输入nvm搜索,选择creationix/nvm,打开 2.找到Install script,复制 curl -o- http ...

  9. mac下使用n管理node版本

    欢迎关注博主博客: https://lvsige.top/ 我有一个项目,因为node版本太高,导致npm run dev报错.那么如何降级呢? (1)安装node版本管理模块n sudo npm i ...

最新文章

  1. 10行代码实现目标检测,请收下这份教程
  2. linux下pcre编译,linux下交叉编译lighttpd以及pcre
  3. 荣耀magic3会用鸿蒙,赵明:荣耀Magic3芯片领先行业,大家看到以后会换掉手机!...
  4. 汇编语言编译器masm_计算机汇编语言和指令操作
  5. 关联分析中可能的规则数的求法
  6. C++ vector和set的区别
  7. Python全栈之路Day16
  8. mysql 优化max_Mysql 优化
  9. arduino nano引脚_使用直流电机和RF模块nRF24L01制作Arduino遥控小车
  10. Android 批量修改文件格式/文件名的骚操作
  11. API接口名称(item_search - 按关键字搜索淘宝商品)[item_search,item_get,item_search_shop等]
  12. git生成/添加SSH公钥
  13. 机器人系统的基本概念及外部模型参数详解
  14. 世界上没有技术驱动型公司!
  15. 【Windows】realtek声卡升级驱动后没声音
  16. linux远程登录maridb,linux – 无法使用phpMyAdmin登录到远程MariaDB服务器,但在shell中工作...
  17. Lesson 18 He often does this! 他经常干这种事!
  18. Windows下将Tomcat8注册为系统服务
  19. python speed为0但是速度过快_python代码加速
  20. 项目发布到各个电脑上,css样式都变了,jsp页面布局乱了,怎么处理

热门文章

  1. 基于Arduino的自动浇水
  2. [FineReport]调用存储过程
  3. Zabbix与乐维监控对比分析(一)——架构、性能篇
  4. 2022-2028年全球与中国船用频闪灯行业发展趋势及投资战略分析
  5. Github---使用入门及安装教程
  6. saxon XSLT 转换器
  7. 现在学习软件测试怎么样,有前途吗?
  8. swing开发scrollbar滚动条样式
  9. Proftpd服务搭建
  10. vue-cli3、swiper、swiper.animate配合使用