MacBook M1 安装node版本管理nvm步骤记录,当笔记查询

安装nvm(推荐的node版本管理器)

使用curl进行安装nvm

不要使用homebrew!不要使用homebrew!不要使用homebrew!官网也强调了不要使用!

  • 虽然homebrew安装过程比较顺利,看似没有问题,但是有很多未知的坑,比如node-sass等。npm安装项目依赖的时候,耗费n个小时一直安装失败。
  • 安装各种node版本/npm版本/yarn/各种国内镜像均不能解决。
第一步
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash
第二步
vim .bash_profile
第三步,将下面内容复制到进去,然后保存
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
// nvm国内镜像
export NVM_NODEJS_ORG_MIRROR=http://npm.taobao.org/mirrors/node
export NVM_IOJS_ORG_MIRROR=http://npm.taobao.org/mirrors/iojs
可能会出现的情况
vim ~/.bash_profile进入 按 i 进入编辑模式,编辑完成之后按 :wq退出编辑;

如果出现E45: ‘readonly’ option is set (add ! to override);

出现这种错误时会退出不了vim,那么出现这种错误的原因有:
1、该错误为当前用户没有权限对文件修改。
2、该文件没有正确保存退出,正在打开状态,关闭后再保存。
3、若该文件所有都关闭,提示有的人没有关闭,则删除该文件的临时文件则可正常打开、修改、保存。

出现这种错误后解决的方法有两种:
一、第一种方法:如果有root权限,可以输入 :wq!强行保存退出。
二、第二种方法:
(1)按ESC
(2)输入 :set noreadonly
(3)输入 :wq 就可保存退出

第四步,重新激活.bash_profile
source ~/.bash_profile
第五步
source ~/.zshrc

可能会出现 source: no such file or directory: /Users/******/.zshrc
原因:Mac 每次都要执行source ~/.bash_profile 配置的环境变量才生效
自己在 ~/.bash_profile 中配置环境变量, 可是每次重启终端后配置的不生效.需要重新执行 source ~/.bash_profile

发现zsh加载的是 ~/.zshrc文件,而 ‘.zshrc’ 文件中并没有定义任务环境变量。
解决办法
1.vim ~/.zshrc
2.在~/.zshrc文件最后,增加一行:
source ~/.bash_profile

第六步,测试nvm命令是否安装成功

执行nvm命令
打印出来Node Version Manager (v0.37.2),则证明安装成功

使用nvm安装node版本

M1执行nvm install安装node报错404

➜  sales_app git:(carDetail) nvm install 12.22.12
Downloading and installing node v12.22.12...
Downloading https://nodejs.org/dist/v12.22.12/node-v12.22.12-darwin-arm64.tar.xz...
-#O=-#      #        #
curl: (22) The requested URL returned error: 404
Binary download from https://nodejs.org/dist/v12.22.12/node-v12.22.12-darwin-arm64.tar.xz failed, trying source.
grep: /Users/gch/.nvm/.cache/bin/node-v12.22.12-darwin-arm64/node-v12.22.12-darwin-arm64.tar.xz: No such file or directory
Provided file to checksum does not exist.
Binary download failed, trying source.
Clang v3.5+ detected! CC or CXX not specified, will use Clang as C/C++ compiler!
Local cache found: $NVM_DIR/.cache/src/node-v12.22.12/node-v12.22.12.tar.xz
Checksums match! Using existing downloaded archive $NVM_DIR/.cache/src/node-v12.22.12/node-v12.22.12.tar.xz
$>./configure --prefix=/Users/gch/.nvm/versions/node/v12.22.12 <
INFO: configure completed successfully
/Library/Developer/CommandLineTools/usr/bin/make -C out BUILDTYPE=Release V=0touch /Users/gch/.nvm/.cache/src/node-v12.22.12/files/out/Release/obj.target/node_dtrace_header.stamptouch /Users/gch/.nvm/.cache/src/node-v12.22.12/files/out/Release/obj.target/specialize_node_d.stamptouch /Users/gch/.nvm/.cache/src/node-v12.22.12/files/out/Release/obj.target/tools/v8_gypfiles/v8_headers.stampc++ -o /Users/gch/.nvm/.cache/src/node-v12.22.12/files/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/nultrans.o ../deps/icu-small/source/i18n/nultrans.cpp '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_DARWIN_USE_64_BIT_INODE=1' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DOPENSSL_NO_ASM' '-DU_I18N_IMPLEMENTATION=1' '-DU_ATTRIBUTE_DEPRECATED=' '-D_CRT_SECURE_NO_DEPRECATE=' '-DU_STATIC_IMPLEMENTATION=1' '-DUCONFIG_NO_SERVICE=1' '-DU_ENABLE_DYLOAD=0' '-DU_HAVE_STD_STRING=1' '-DUCONFIG_NO_BREAK_ITERATION=0' -I../deps/icu-small/source/i18n -I../deps/icu-small/source/common  -O3 -gdwarf-2 -mmacosx-version-min=10.10 -arch arm64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu++1y -stdlib=libc++ -fno-exceptions -fno-strict-aliasing -MMD -MF /Users/gch/.nvm/.cache/src/node-v12.22.12/files/out/Release/.deps//Users/gch/.nvm/.cache/src/node-v12.22.12/files/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/nultrans.o.d.raw   -cc++ -o /Users/gch/.nvm/.cache/src/node-v12.22.12/files/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/uspoof_conf.o ../deps/icu-small/source/i18n/uspoof_conf.cpp '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_DARWIN_USE_64_BIT_INODE=1' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DOPENSSL_NO_ASM' '-DU_I18N_IMPLEMENTATION=1' '-DU_ATTRIBUTE_DEPRECATED=' '-D_CRT_SECURE_NO_DEPRECATE=' '-DU_STATIC_IMPLEMENTATION=1' '-DUCONFIG_NO_SERVICE=1' '-DU_ENABLE_DYLOAD=0' '-DU_HAVE_STD_STRING=1' '-DUCONFIG_NO_BREAK_ITERATION=0' -I../deps/icu-small/source/i18n -I../deps/icu-small/source/common  -O3 -gdwarf-2 -mmacosx-version-min=10.10 -arch arm64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu++1y -stdlib=libc++ -fno-exceptions -fno-strict-aliasing -MMD -MF /Users/gch/.nvm/.cache/src/node-v12.22.12/files/out/Release/.deps//Users/gch/.nvm/.cache/src/node-v12.22.12/files/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/uspoof_conf.o.d.raw   -c

经过分析发现命令安装node版本时,M1电脑自动拼接路径如下:

https://nodejs.org/dist/v12.2…
arm64是M1特有的软件命令方式 目前node官网不提供此类的压缩包 压缩包官网
解决办法:
1.执行install命令前先执行M1兼容命令:

arch -x86_64 zsh

2.然后再执行install会自动修复下载版本的链接:
https://nodejs.org/dist/v12.2…

➜  arch -x86_64 zsh
➜ nvm install 12.22.0
Downloading and installing node v12.22.0...
Downloading https://nodejs.org/dist/v12.22.0/node-v12.22.0-darwin-x64.tar.xz...
###################################################################################################### 100.0%
Computing checksum with shasum -a 256
Checksums matched!
Now using node v12.22.0 (npm v6.14.11)
常用的nvm命令
nvm install stable ## 安装最新稳定版 nodenvm install <version> ## 安装指定版本,可模糊安装,如:安装v4.4.0,既可nvm install v4.4.0,又可nvm install 4.4nvm uninstall <version> ## 删除已安装的指定版本,语法与install类似nvm use <version> ## 切换使用指定的版本nodenvm ls ## 列出所有安装的版本nvm ls-remote ## 列出所有远程服务器的版本(官方node version list)nvm current ## 显示当前的版本nvm alias <name> <version> ## 给不同的版本号添加别名nvm unalias <name> ## 删除已定义的别名nvm reinstall-packages <version> ## 在当前版本 node 环境下,重新全局安装指定版本号的 npm 包

mac M1 安装nvm步骤相关推荐

  1. MAC M1安装docker并拉取mysql镜像

    MAC M1安装docker并拉取mysql镜像 inter芯片和m1芯片安装docker方式些许不同,本次我只记录m1安装docker和拉取镜像 Docker常用命令 拉取镜像:docker pul ...

  2. mac m1 php,Mac M1安装php开发环境

    Mac M1安装php开发环境 去年年底,苹果推出了新款的M1芯片的mac,最近刚好要换电脑,考虑对比再三,还是选择了M1芯片的mac:刚拿到手以后,担心会有软件不兼容啥的,网上也推荐作为主力开发的笔 ...

  3. mac怎么配置php开发环境变量,Mac M1安装mnmp(Mac+Nginx+MySQL+PHP)开发环境

    之前刚装好了 HomeBrew ,接下来就要安装 环境了. 注意:如果 brew install 出以下错误, 则安装时使用arch -arm64 brew install软件包名 进行安装 安装 N ...

  4. Mac M1安装ta-lib

    Mac M1安装ta-lib## 标题 1.在你需要安装的环境目录下,输入:brew install ta-lib: 2.在同一目录下,输入: export TA_INCLUDE_PATH=" ...

  5. mac下安装nvm以及node

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

  6. Mac m1 安装安装homebrew

    Mac m1 安装安装homebrew 文章目录 Mac m1 安装安装homebrew 终端直接安装 安装完成后: 终端直接安装 /bin/zsh -c "$(curl -fsSL htt ...

  7. Mac M1 安装MySQL

    Mac M1 安装MySQL 安装MySQL 手动安装 手动安装是需要下载合适版本的MySQL,然后进行安装.下载地址:https://dev.mysql.com/downloads/mysql/ 自 ...

  8. R for Mac(M1)安装R包辛酸教程

    欢迎收看hanhan的辛酸血泪史orz 关于R for Mac(M1)安装失败/下载后报错 文章目录 前言 1. 非零报错-have no-zero-there is no package-缺包 2. ...

  9. mac M1 安装AndroidStudio打开真机调试

    我的安装全记录,有坑踩了已记录,不一定完全适用,可以看看. 文章目录 前言 一.安装Java环境 1.查看java环境 2.安装jdk 二.安装AndroidStudio 三.运行第一个HelloWo ...

最新文章

  1. Python 3 判断2个字典相同
  2. 在Quick-cocos2dx中使用云风pbc解析Protocol Buffers,支持win、mac、ios、android
  3. python是什么语言、即变量不需要显示声明数据类型-python变量声明及简单数据类型...
  4. 基于高德地图的描点操作,监听地图缩放,展示合理数量的marker
  5. 插图 引用 同一行两个插图_提出食物主题中的插图
  6. ParserError: Error tokenizing data. C error: Expected 1 fields in line 122, saw 2
  7. C++设计模式-观察者模式
  8. java netty post_API调用Netty长链接执行发送消息(在线数、用户列表)
  9. Algorithm:贪心策略之区间覆盖问题
  10. cookie代码加时间多久出现一次_恶意代码分析 丨 一个毫无套路的咸鱼诈骗网站...
  11. 股票分析之主力资金排序分析
  12. 如果有人问你 Dubbo 中注册中心工作原理,就把这篇文章给他
  13. 浅谈-61850-1
  14. Adobe Photoshop CC 2019( adobe ps cc)果然不一般
  15. java cpu100 解决办法_[Java] CPU 100% 原因查找解决
  16. Unity插件 - MeshEditor(五) 网格顶点动画(变形动画)
  17. 微信视频号视频免费下载最新的4种办法
  18. android root刷机包包,一加OnePlus 5T安卓9 root教程,用recovery来卡刷root包
  19. 效果超牛的基于声波通信和声音指纹的微信互动平台
  20. 贪心算法之加勒比海盗船最优装载问题

热门文章

  1. 《三十而已》出品方柠萌影业冲刺IPO,“爆剧制造机”如何度过“影视寒冬”?
  2. 【Java分享客栈】我有一个朋友,和前端工程师联调接口被狠狠鄙视了一番。
  3. LintCode 702. 连接两个字符串中的不同字符 JavaScript算法
  4. D-OJ刷题日记:找数组中的最大值 题目编号:702
  5. 爱普生几种低功耗时钟芯片
  6. 电平是什么?单片机的I/0口输入和输出,1和0是什么?什么是TTL电平?TTL电平分析?TTL、CMOS、RS232、RS485电平差异?usb转ttl?CH340模块驱动安装?电平之间的转换?
  7. fffffffffffffffffffffffffffffffff
  8. [20][05][01] ASM介绍
  9. Java 教程 —— 开天辟地
  10. 二目运算符是什么意思?