博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
在Mac下安装nvm管理node
阅读量:6458 次
发布时间:2019-06-23

本文共 1877 字,大约阅读时间需要 6 分钟。

前言

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

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

至于两者的区别可以看一下淘宝团队的一篇文章

安装

这篇文章主要想说的就是在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

你可能感兴趣的文章
面象过程与面象对象
查看>>
用CSS实现图片水印效果代码
查看>>
谷歌设置支持webgl
查看>>
P3402 【模板】可持久化并查集
查看>>
js的AJAX请求有关知识总结
查看>>
Eclipse添加新server时无法选择Tomcat7的问题
查看>>
L207
查看>>
nginx 配置https 负载均衡
查看>>
listing_windows形式输出直线结构体的起点、终点信息
查看>>
双拓扑排序 HDOJ 5098 Smart Software Installer
查看>>
三分 POJ 2420 A Star not a Tree?
查看>>
Java多线程和线程池
查看>>
36.Node.js 工具模块--OS模块系统操作
查看>>
存储过程报错行提示
查看>>
第一篇markdown博文
查看>>
Leetcode 4 - median-of-two-sorted-arrays
查看>>
noj 2033 一页书的书 [ dp + 组合数 ]
查看>>
ERDAS软件应用(四)遥感影像数据增强
查看>>
修改OBS为仅直播音频
查看>>
完整版:《开源框架实战宝典电子书V1.0.0》内测版下载地址!
查看>>