zoukankan      html  css  js  c++  java
  • Ubuntu中安装最新 Node.js 和 npm

    背景

    为了安装GNU QEMU Eclipse,需要安装比较新的nodejs

    $ npm install --global xpm@latest
    ▌ ╢░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░╟
    WARN engine xpm@0.5.0: wanted: {"node":">7.7.0"} (current: {"node":"4.2.6","npm":"3.5.2"})
    
    

    参考:Ubuntu18安装最新版nodejsUbuntu16.04安装最新版nodejs

    更新ubuntu软件源

    # Ubuntu 16.04 TLS,执行以下命令:
    sudo apt-get update
    sudo apt-get install -y python-software-properties software-properties-common
    sudo add-apt-repository ppa:chris-lea/node.js
    sudo apt-get update
    
    
    # Ubuntu 18.04 TLS,执行以下命令:
    sudo apt-get update
    sudo apt-get install -y software-properties-common
    sudo add-apt-repository ppa:chris-lea/node.js
    sudo apt-get update
    

    安装NodeJS和NPM

    安装命令

    # Ubuntu 16.04 TLS,执行以下命令:
    sudo apt-get install nodejs
    sudo apt install nodejs-legacy
    sudo apt install npm
    
    
    # Ubuntu 18.04 TLS,执行以下命令:
    sudo apt-get install nodejs
    sudo apt install libssl1.0-dev nodejs-dev node-gyp npm
    

    配置路径

    修改prefix、cache路径

    mkdir nodejs的安装路径/node_cache
    mkdir nodejs的安装路径/node_global
    npm config set prefix "nodejs的安装路径/node_global"
    npm config set cache "nodejs的安装路径/node_cache"
    

    在自己的环境变量中添加

    #node
    export NODE_HOME=nodejs的安装路径
    export PATH=$NODE_HOME/bin:$PATH
    
    #npm
    export NODE_PATH=nodejs的安装路径/node_global/node_modules
    

    更新npm的包镜像源

    方便快速下载

    sudo npm config set registry https://registry.npm.taobao.org
    sudo npm config list
    

    安装n管理器(用于管理nodejs版本)

    sudo npm install n -g
    
    # 安装最新的nodejs(stable版本)
    sudo n stable
    

    验证安装

    使用下面的命令查看NodeJS和NPM的版本,若正确安装的话都可以看到相关的版本号信息。

    sudo node -v
    sudo npm -v
    

    安装完最好重启一下:sudo reboot或者重启shell

    Q & A

    验证安装查看的版本号时,加sudo和不加sudo的命令,结果不一样

    这应该是终端或远程连接终端的缓存问题,加sudo命令看到的是最新的版本号,不加sudo命令看到的是前一安装版本的版本号,关闭相关终端或远程连接终端,然后重新连接即可解决这个问题。

    apt-get update找不到文件

    // error code
    W: The repository 'http://ppa.launchpad.net/chris-lea/node.js/ubuntu xenial Release' does not have a Release file.
    N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use.
    N: See apt-secure(8) manpage for repository creation and user configuration details.
    E: Failed to fetch http://ppa.launchpad.net/chris-lea/node.js/ubuntu/dists/xenial/main/binary-amd64/Packages  404  Not Found
    E: Some index files failed to download. They have been ignored, or old ones used instead.
    
    

    // A: 修改node相关文件:/etc/apt/sources.list.d/chris-lea-ubuntu-node_js-xenial.list
    deb http://ppa.launchpad.net/chris-lea/node.js/ubuntu trusty main
    deb-src http://ppa.launchpad.net/chris-lea/node.js/ubuntu trusty main

    node -v异常

    node -v
    -bash: /usr/local/bin/node: Permission denied
    
    sudo node -v
    Segmentation fault (core dumped)
    

    // A: 重新安装nodejs
    手动移除 /usr/local/lib/node_modules整个目录
    手动移除 /usr/local/bin/node
    手动移除 /usr/local/bin/n
    手动移除 /usr/local/bin/npm

    Package 'software-properties-common' has no installation candidate异常

    sudo apt-get install -y python-software-properties software-properties-common
    
    E: Package 'python-software-properties' has no installation candidate
    

    原因详见 https://askubuntu.com/questions/422975/e-package-python-software-properties-has-no-installation-candidate?rq=1 ,调整为sudo apt-get install -y software-properties-common即可

    如果说我的文章对你有用,只不过是我站在巨人的肩膀上再继续努力罢了。
    若在页首无特别声明,本篇文章由 Schips 经过整理后发布。
    博客地址:https://www.cnblogs.com/schips/
  • 相关阅读:
    Populating Next Right Pointers in Each Node II
    Populating Next Right Pointers in Each Node
    Construct Binary Tree from Preorder and Inorder Traversal
    Construct Binary Tree from Inorder and Postorder Traversal
    Path Sum
    Symmetric Tree
    Solve Tree Problems Recursively
    632. Smallest Range(priority_queue)
    609. Find Duplicate File in System
    poj3159最短路spfa+邻接表
  • 原文地址:https://www.cnblogs.com/schips/p/ubuntu_install_newest_node-js_and_npm.html
Copyright © 2011-2022 走看看