• node版本工具 nvm


    ###

    > 前言

    npm 安装n命令切换node版本 是全局切换
    nvm切换node版本可以基于项目目录局部进行切换

    > 下载nvm二进制包

    ########################################################################
    ########################################################################
    #下载nvm二进制包地址
    https://github.com/nvm-sh/nvm/tags
    
    ########################################################################
    ########################################################################
    #安装nvm
    [root@test01 ~]# mkdir -p /home/wx/nvm-0.39
    [root@test01 ~]# cd /home/wx/nvm-0.39
    [root@test01 nvm-0.39]# wget https://github.com/nvm-sh/nvm/archive/refs/tags/v0.39.0.tar.gz
    [root@test01 nvm-0.39]# tar xf nvm-0.39.0.tar.gz 
    [root@test01 nvm-0.39]# ls -l
    total 164
    drwxrwxr-x 4 root root 4096 Oct 8 01:11 nvm-0.39.0
    -rw-r--r-- 1 root root 163076 Nov 11 11:25 nvm-0.39.0.tar.gz
    

    > 安装nvm

    ########################################################################
    ########################################################################
    [root@test01 nvm-0.39.0]# cd /home/wx/nvm-0.39/nvm-0.39.0
    [root@test01 nvm-0.39.0]# ls -l
    total 252
    -rw-rw-r-- 1 root root   2299 Oct  8 01:11 bash_completion
    -rw-rw-r-- 1 root root   5424 Oct  8 01:11 CODE_OF_CONDUCT.md
    -rw-rw-r-- 1 root root   1057 Oct  8 01:11 CONTRIBUTING.md
    -rw-rw-r-- 1 root root   3691 Oct  8 01:11 Dockerfile
    -rw-rw-r-- 1 root root    467 Oct  8 01:11 GOVERNANCE.md
    -rwxrwxr-x 1 root root  14984 Oct  8 01:11 install.sh
    -rw-rw-r-- 1 root root   1113 Oct  8 01:11 LICENSE.md
    -rw-rw-r-- 1 root root   5361 Oct  8 01:11 Makefile
    -rwxrwxr-x 1 root root    351 Oct  8 01:11 nvm-exec
    -rw-rw-r-- 1 root root 138067 Oct  8 01:11 nvm.sh
    -rw-rw-r-- 1 root root   2371 Oct  8 01:11 package.json
    -rw-rw-r-- 1 root root   2935 Oct  8 01:11 PROJECT_CHARTER.md
    -rw-rw-r-- 1 root root  40684 Oct  8 01:11 README.md
    -rwxrwxr-x 1 root root   1235 Oct  8 01:11 rename_test.sh
    -rw-rw-r-- 1 root root    882 Oct  8 01:11 ROADMAP.md
    drwxrwxr-x 9 root root    148 Oct  8 01:11 test
    -rwxrwxr-x 1 root root   2364 Oct  8 01:11 update_test_mocks.sh
    ########################################################################
    ########################################################################
    # 安装nvm
    [root@test01 nvm-0.39.0]# sh install.sh 
    => Downloading nvm from git to '/root/.nvm'
    => Cloning into '/root/.nvm'...
    remote: Enumerating objects: 348, done.
    remote: Counting objects: 100% (348/348), done.
    remote: Compressing objects: 100% (297/297), done.
    remote: Total 348 (delta 39), reused 162 (delta 26), pack-reused 0
    Receiving objects: 100% (348/348), 210.62 KiB | 0 bytes/s, done.
    Resolving deltas: 100% (39/39), done.
    * (detached from FETCH_HEAD)
      master
    => Compressing and cleaning up git repository
    => Appending nvm source string to /root/.bashrc
    => Appending bash_completion source string to /root/.bashrc
    => Close and reopen your terminal to start using nvm or run the following to use it now:
    export NVM_DIR="$HOME/.nvm"
    [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
    [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # This loads nvm bash_completion
    ########################################################################
    ########################################################################
    [root@test01 nvm-0.39.0]# source /root/.bashrc 
    
    ########################################################################
    ########################################################################
    [root@test01 nvm-0.39.0]# nvm -v
    0.39.0

     > Linux的root权限安装nvm后可用,切换用户以后报nvm: command not found解决办法

    在root环境下安装nvm,一切正常,但是我切换成普通用户以后,就会报命令找不到,命令找不到肯定就是路径的问题。
    以下就是解决办法:
    1.首先root环境下,打开~/.bashrc文件,你会看到NVM_DIR,这就是nvm的安装路径。其中有个$HOME这个路径。然后我就去命令行打印了一下$HOME,结果如下:
    之后我又切换了普通用户也查看了$HOME,查看结果如下:
    
    两个$HOME都不一样,肯定引不到啊,而且/root下的文件只有root权限才可以访问。
    2.将/root/.nvm文件夹移动到了/home/wx/nvm-0.39/(也可以移到别的文件夹下,需要修改文件夹权限为普通用户权限,该路径在环境变量中)下,
    然后修改~/.bashrc文件,将$HOME改成/home/wx/nvm-0.39
    [root@test01 ~]# vim /root/.bashrc
    .....
    export NVM_DIR="/home/wx/nvm-0.39.0/.nvm"
    [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
    [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
    ...

    [wx@test01 ~]# vim /home/wx/.bashrc
    ...
    export NVM_DIR="/home/wx/nvm-0.39.0/.nvm"
    [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
    [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion ... 3.重启~/.bashrc文件 [root@test01 ~]# source /root/.bashrc
    [wx@test01 ~]# source /home/wx/.bashrc
    4.查看nvm版本
    [root@test01 ~]# nvm -v
    0.39.0
    [wx@test01 ~]# nvm -v
    0.39.0

     > 注释

    执行sh脚本bash: nvm: command not found...
    在终端直接执行nvm没问题,执行shell脚本中的nvm提示bash: nvm: command not found…

    原因:nvm是一个脚本不是指令,所以shell脚本中执行nvm会提示bash: nvm: command not found… 解决:只需在执行nvm前加一行指令即可解决问题:不将输出内容输出到空会在终端页面打印很多信息 source
    /home/wx/nvm-0.39/.nvm/nvm.sh [root@test01 ~]# cat implement.sh #!/bin/bash source /home/wx/nvm-0.39.0/.nvm/nvm.sh >/dev/null 2>&1 nvm install v14.17.0 >/dev/null 2>&1 nvm use v14.17.0 >/dev/null 2>&1 注意: /home/wx/nvm-0.39/.nvm是nvm的安装路径,需要写nvm的实际安装路径,可以用find / -name “.nvm” 来查找nvm的安装目录

    > nvm 常用命令

    nvm install 14.17.0        //安装 node 14.17.0版本
    nvm uninstall v14.13.2 // 移除 node 6.11.0版本 nvm use 14.13.2 // 切换并使用 node 6.11.0 nvm ls // 查看目前已安装的 node 及当前所使用的 node nvm ls-remote // 查看目前线上所能安装的所有 node 版本 nvm alias default 14.13.2 // 使用 6.11.0 作为预设使用的 node 版本

    ###

  • 相关阅读:
    CentOS 7 镜像下载
    Ambari+HDP生产集群搭建(二)
    elasticsearch-head 关闭窗口服务停止解决方案
    git提交错误 error: failed to push some refs to
    git提交错误 git config --global user.email "you@example.com" git config --global user.name "Your Name
    Java SE入门(一)——变量与数据类型
    markdown基本语法
    numpy的基本API(四)——拼接、拆分、添加、删除
    数理统计(二)——Python中的概率分布API
    统计学习方法与Python实现(三)——朴素贝叶斯法
  • 原文地址:https://www.cnblogs.com/faithH/p/15539152.html
Copyright © 2020-2023  润新知