Ubuntuは新バージョンnodejsの5姿勢をインストールします.

13783 ワード

引用:
この文章を書く前に、Buntu 14.04(Trusty)についてデフォルトでインストールされているNodeJSバージョンは0.15百思不解です.(何の鬼か、いつのNodeJSですか?)
この文章を書く時、NodeJSのLTSバージョン番号は全部10.15.0になりました.もちろんUbuntuは2018年にもuuntu 18.04を発行しています.
システムは4年前のものを使ってもいいですが、nodeはだめです.
そこで毎回、Nodeの新しいバージョンのインストールを逆さまにして、いくつかの穴を踏んだことがあります.
しかし、根掘り葉掘りの原則に基づいて、やはり収穫が大きいです.
PS:
http://releases.ubuntu.com/
https://nodejs.org/zh-cn/download/releases/
そうです.14年4月にリリースされた時、NodeJSはLTSバージョンの0.0.15ではありませんでした.
 
姿勢A:ソースコンパイルのインストール
【おすすめ指数:★★☆☆】
 
公式サイトのダウンロードソース:http://nodejs.cn/download/  あるいはあなたはwget****を使うことができます.
cd your-source-code-directory
./configure
make
sudo make install
 
姿勢の利点://configurはカタログをカスタマイズできます.咳、必要ありません.
姿勢の欠点:メークは時間がかかります.メモリが足りないVPSや仮想マシンの学生はこの姿勢を避けてください.
Linuxシステムの下でユーザーが自分でインストールしたソフトウェア(Node、MongoDBなど)は、一般的にどのディレクトリに分布していますか?
绝大数のオープンソースソフトウェアはソースコードを公開しています.ソースコードは一般的にtar.gzファイルに包装されています.その後、ユーザーが自分でバイナリ実行可能ファイルにコンパイルします.
互換性がいい/制御性がいい/オープンソースのソフトウェアは他のオープンソースの機能を大量に使って、大量の依存関係を解決します.
./configure検査コンパイル環境/関連ライブラリファイル/構成パラメータをチェックして、makefileを生成します.
makeはソースコードをコンパイルして実行可能ファイルを生成します.
make install   生成した実行可能ファイルを現在のコンピュータにインストールします.
 
姿勢B:PPAを追加してUbuntuの方式でインストールします.
【おすすめ指数:★★★】
 
ganiks@ganiks-ubuntu-trusty-64:~$ logout
Connection to 127.0.0.1 closed.
PS D:\ganiks\ganiks_ubuntu_trusty64> vagrant destroy
    default: Are you sure you want to destroy the 'default' VM? [y/N] y
==> default: Forcing shutdown of VM...
==> default: Destroying VM and associated drives...
PS D:\ganiks\ganiks_ubuntu_trusty64> vagrant up

#OK,           
#    /etc/apt/source.list    (    )

ganiks@ganiks-ubuntu-trusty-64:~$ curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -

## Installing the NodeSource Node.js 8.x LTS Carbon repo...

#  PPA       ……5-10     

# , ubuntu ganiks@ganiks-ubuntu-trusty-64:~$ sudo apt-get install -y nodejs Reading package lists... Done Building dependency tree Reading state information... Done The following NEW packages will be installed: nodejs 0 upgraded, 1 newly installed, 0 to remove and 12 not upgraded. Need to get 13.6 MB of archives. After this operation, 64.3 MB of additional disk space will be used. Get:1 https://deb.nodesource.com/node_8.x/ trusty/main nodejs amd64 8.15.0-1nodesource1 [13.6 MB] Fetched 13.6 MB in 8min 13s (27.5 kB/s) Selecting previously unselected package nodejs. (Reading database ... 63153 files and directories currently installed.) Preparing to unpack .../nodejs_8.15.0-1nodesource1_amd64.deb ... Unpacking nodejs (8.15.0-1nodesource1) ... Processing triggers for man-db (2.6.7.1-1ubuntu1) ... Setting up nodejs (8.15.0-1nodesource1) ... # , , ubuntu ganiks@ganiks-ubuntu-trusty-64:~$ whereis node node: /usr/bin/node /usr/bin/X11/node /usr/include/node /usr/share/man/man1/node.1.gz ganiks@ganiks-ubuntu-trusty-64:~$ whereis npm npm: /usr/bin/npm /usr/bin/X11/npm ganiks@ganiks-ubuntu-trusty-64:~$ node -v v8.15.0 ganiks@ganiks-ubuntu-trusty-64:~$ npm -v 6.4.1
参考文献:
https://github.com/nodesource/distributions#debinstall
NodeSource will mantain Ubuntu distributions in active support by Canonical,including LTS and the intermediate releases.
  • Ubuntu 14.04 LTS (Trusty Tahr)- not available for Node.js 10 and later
  • Ubuntu 16.04 LTS (Xenial Xerus)
  • Ubuntu 18.04 LTS (Bionic Beaver)
  • Ubuntu 18.10 (Cosmic Cutlefish)
  •   
    姿勢C:NPMモジュール【n】でNodeとNPMを更新します.
    【おすすめ指数:★★★】
     
    #     ubuntu14.04  
    
    #       nodejs  npm
    ganiks@ganiks-ubuntu-trusty-64:~$ sudo apt install nodejs-legacy npm
    ganiks@ganiks-ubuntu-trusty-64:~$ npm -v
    1.3.10
    ganiks@ganiks-ubuntu-trusty-64:~$ node -v
    v0.10.25
    
    #  npm     
    ganiks@ganiks-ubuntu-trusty-64:~$ sudo npm config set registry https://registry.npm.taobao.org
    
    #  npm :n
    ganiks@ganiks-ubuntu-trusty-64:~$ sudo npm i -g n
    npm http GET https://registry.npm.taobao.org/n
    npm http 200 https://registry.npm.taobao.org/n
    npm http GET https://registry.npm.taobao.org/n/download/n-2.1.12.tgz
    npm http 200 https://registry.npm.taobao.org/n/download/n-2.1.12.tgz
    /usr/local/bin/n -> /usr/local/lib/node_modules/n/bin/n
    [email protected] /usr/local/lib/node_modules/n
    
    #  n       nodejs
    ganiks@ganiks-ubuntu-trusty-64:~$ sudo n stable
    
         install : node-v11.6.0
           mkdir : /usr/local/n/versions/node/11.6.0
           fetch : https://nodejs.org/dist/v11.6.0/node-v11.6.0-linux-x64.tar.gz
    ######################################################################## 100.0%
       installed : v11.6.0
    
    
    #       node  ,  sudo           ,               
    ganiks@ganiks-ubuntu-trusty-64:~$ node -v
    v0.10.25
    ganiks@ganiks-ubuntu-trusty-64:~$ npm -v
    1.3.10
    ganiks@ganiks-ubuntu-trusty-64:~$ sudo node -v
    v11.6.0
    ganiks@ganiks-ubuntu-trusty-64:~$ sudo npm -v
    6.5.0-next.0
    
    #  node  ,    n   node /usr/local   ,     node  /usr   
    ganiks@ganiks-ubuntu-trusty-64:~$ whereis node
    node: /usr/bin/node /usr/bin/X11/node /usr/local/bin/node /usr/share/man/man1/node.1.gz
    ganiks@ganiks-ubuntu-trusty-64:~$ /usr/bin/node -v
    v0.10.25
    ganiks@ganiks-ubuntu-trusty-64:~$ /usr/local/bin/node -v
    v11.6.0
    
    #       ,logout
    ganiks@ganiks-ubuntu-trusty-64:~$ logout
    Connection to 127.0.0.1 closed.
    
    $ D:\ganiks\ganiks_ubuntu_trusty64> vagrant ssh
    Welcome to Ubuntu 14.04.5 LTS (GNU/Linux 3.13.0-164-generic x86_64)
    Last login: Fri Jan 18 07:24:38 2019 from 10.0.2.2
    
    #    ,    
    ganiks@ganiks-ubuntu-trusty-64:~$ node -v
    v11.6.0
    ganiks@ganiks-ubuntu-trusty-64:~$ npm -v
    6.5.0-next.0
    
    # ,   /usr/bin/node      ,   $PATH      /usr/local/bin/node       
    ganiks@ganiks-ubuntu-trusty-64:~$ /usr/bin/node -v
    v0.10.25
    
    #              ,  
    ganiks@ganiks-ubuntu-trusty-64:~$ sudo apt remove node-legacy npm
    
    モジュールnの使い方:https://www.npmjs.com/package/n
     
    できるだけ深刻に問題を解決します.
    https://www.cnblogs.com/ganiks 
     
    続けて、後の2つの案を使ったことがあります.
    nodejs中国語ネットにアリ雲の鏡像があります.デフォルトは最新バージョンの住所です.
    https://npm.taobao.org/mirrors/node/v10.15.0/
    (他のバージョンのすべてのミラーが必要なら、urlの後のバージョン番号を除いてアクセスすればいいです.)
    ../
    docs/                                             26-Dec-2018 05:30                                 -
    win-x64/                                          26-Dec-2018 06:43                                 -
    win-x86/                                          26-Dec-2018 06:01                                 -
    node-v10.15.0-aix-ppc64.tar.gz                    26-Dec-2018 06:17                                 22797819(21.74MB)
    node-v10.15.0-darwin-x64.tar.gz                   26-Dec-2018 05:24                                 16354900(15.6MB)
    node-v10.15.0-darwin-x64.tar.xz                   26-Dec-2018 05:25                                 11071128(10.56MB)
    node-v10.15.0-headers.tar.gz                      26-Dec-2018 05:31                                 446984(436.51kB)
    node-v10.15.0-headers.tar.xz                      26-Dec-2018 05:31                                 336760(328.87kB)
    node-v10.15.0-linux-arm64.tar.gz                  26-Dec-2018 04:57                                 18598724(17.74MB)
    node-v10.15.0-linux-arm64.tar.xz                  26-Dec-2018 04:59                                 11776444(11.23MB)
    node-v10.15.0-linux-armv6l.tar.gz                 26-Dec-2018 04:50                                 17537202(16.72MB)
    node-v10.15.0-linux-armv6l.tar.xz                 26-Dec-2018 04:51                                 10762604(10.26MB)
    node-v10.15.0-linux-armv7l.tar.gz                 26-Dec-2018 04:53                                 17389653(16.58MB)
    node-v10.15.0-linux-armv7l.tar.xz                 26-Dec-2018 04:54                                 10696212(10.2MB)
    node-v10.15.0-linux-ppc64le.tar.gz                26-Dec-2018 04:51                                 18620944(17.76MB)
    node-v10.15.0-linux-ppc64le.tar.xz                26-Dec-2018 04:52                                 11524352(10.99MB)
    node-v10.15.0-linux-s390x.tar.gz                  26-Dec-2018 04:54                                 18879786(18.01MB)
    node-v10.15.0-linux-s390x.tar.xz                  26-Dec-2018 04:54                                 11475136(10.94MB)
    node-v10.15.0-linux-x64.tar.gz                    26-Dec-2018 06:27                                 18630524(17.77MB)
    node-v10.15.0-linux-x64.tar.xz                    26-Dec-2018 06:28                                 12307872(11.74MB)
    node-v10.15.0-sunos-x64.tar.gz                    26-Dec-2018 04:52                                 19959848(19.04MB)
    node-v10.15.0-sunos-x64.tar.xz                    26-Dec-2018 04:53                                 12839268(12.24MB)
    node-v10.15.0-win-x64.7z                          26-Dec-2018 06:49                                 9666719(9.22MB)
    node-v10.15.0-win-x64.zip                         26-Dec-2018 06:53                                 16252020(15.5MB)
    node-v10.15.0-win-x86.7z                          26-Dec-2018 06:01                                 8593771(8.2MB)
    node-v10.15.0-win-x86.zip                         26-Dec-2018 06:01                                 14743242(14.06MB)
    node-v10.15.0-x64.msi                             26-Dec-2018 06:56                                 17297408(16.5MB)
    node-v10.15.0-x86.msi                             26-Dec-2018 06:01                                 15708160(14.98MB)
    node-v10.15.0.pkg                                 26-Dec-2018 05:40                                 16615683(15.85MB)
    node-v10.15.0.tar.gz                              26-Dec-2018 05:26                                 36300933(34.62MB)
    node-v10.15.0.tar.xz                              26-Dec-2018 05:29                                 20217588(19.28MB)
    SHASUMS256.txt                                    26-Dec-2018 16:25                                 3347(3.27kB)
    SHASUMS256.txt.asc                                26-Dec-2018 16:25                                 3884(3.79kB)
    SHASUMS256.txt.sig                                26-Dec-2018 16:25                                 310(310B)
    
     
    「node-v 10.15.0-linux-x 64.tar.gz」をダウンロードして研究します.
    ganiks@ganiks-ubuntu-trusty-64:~$ wget https://npm.taobao.org/mirrors/node/v10.15.0/node-v10.15.0-linux-x64.tar.gz
    2019-01-18 10:09:05 (5.77 MB/s) - ‘node-v10.15.0-linux-x64.tar.gz’ saved [18630524/18630524]
    
    ganiks@ganiks-ubuntu-trusty-64:~$ ls
    node-v10.15.0-linux-x64.tar.gz
    ganiks@ganiks-ubuntu-trusty-64:~$ tar xzf node-v10.15.0-linux-x64.tar.gz
    ganiks@ganiks-ubuntu-trusty-64:~$ ls
    node-v10.15.0-linux-x64  node-v10.15.0-linux-x64.tar.gz
    ganiks@ganiks-ubuntu-trusty-64:~$ ls -l node-v10.15.0-linux-x64
    total 164
    drwxrwxr-x 2 ganiks ganiks  4096 Dec 26 06:27 bin
    -rw-rw-r-- 1 ganiks ganiks 52896 Dec 26 06:27 CHANGELOG.md
    drwxrwxr-x 3 ganiks ganiks  4096 Dec 26 06:27 include
    drwxrwxr-x 3 ganiks ganiks  4096 Dec 26 06:27 lib
    -rw-rw-r-- 1 ganiks ganiks 65839 Dec 26 06:27 LICENSE
    -rw-rw-r-- 1 ganiks ganiks 25981 Dec 26 06:27 README.md
    drwxrwxr-x 5 ganiks ganiks  4096 Dec 26 06:27 share
    ganiks@ganiks-ubuntu-trusty-64:~$ ls -l node-v10.15.0-linux-x64/bin node-v10.15.0-linux-x64/lib/node_modules/
    node-v10.15.0-linux-x64/bin:
    total 38284
    -rwxrwxr-x 1 ganiks ganiks 39199960 Dec 26 06:26 node
    lrwxrwxrwx 1 ganiks ganiks       38 Dec 26 06:27 npm -> ../lib/node_modules/npm/bin/npm-cli.js
    lrwxrwxrwx 1 ganiks ganiks       38 Dec 26 06:27 npx -> ../lib/node_modules/npm/bin/npx-cli.js
    
    node-v10.15.0-linux-x64/lib/node_modules/:
    total 4
    drwxrwxr-x 10 ganiks ganiks 4096 Dec 26 06:27 npm
    
    実は中はlinux-x 64環境の下ですでにコンパイルしたnodejsですが、どう使いますか?
     
    姿勢D:コンパイルしたカバンを直接ダウンロードして、それぞれ/usr/local/binおよび/usr/local/lib/node_に展開します.modules
    【おすすめ指数:★★☆☆】
    このカバンの構造を見てください.bin、include、lib、shareは見覚えがあります.linuxシステムの/usrディレクトリの構造と大体同じです.
    ganiks@ganiks-ubuntu-trusty-64:~$ ls -l /usr/
    total 48
    drwxr-xr-x   2 root root 20480 Jan 18 09:48 bin
    drwxr-xr-x   2 root root  4096 Apr 10  2014 games
    drwxr-xr-x  33 root root  4096 Jan 18 09:48 include
    drwxr-xr-x  69 root root  4096 Jan 18 09:48 lib
    drwxr-xr-x  10 root root  4096 Jan 10 20:43 local
    drwxr-xr-x   2 root root  4096 Jan 10 21:43 sbin
    drwxr-xr-x 123 root root  4096 Jan 18 09:48 share
    drwxr-xr-x   5 root root  4096 Jan 10 21:42 src
    
    OKです.それでは私の考えです.nodeに包まれたbin include lib shareの4つのディレクトリをそれぞれ/usrの下に対応する同名のディレクトリと統合します.
    しかし、注意点としては、/usrというシステムディレクトリとディレクトリ下のサブディレクトリは全部root:rootの権限です.ディレクトリをマージしたら、この一致性を保証します.
    前にやったことがあります.ずっと使っていますが、ネットではあまり見たことがありません.
     
    姿勢E:コンパイルしたパケットを直接ダウンロードして/usr/local/nodeに配置し、環境変数を変更します.
    【おすすめ指数:★☆☆☆☆】
    やはりこのnodeのカバンです.もう一つの使い方は全体の使用です.姿勢Dのように分解したのではありません.
    ganiks@ganiks-ubuntu-trusty-64:~$ sudo cp node-v10.15.0-linux-x64 /usr/local/node -r
    
    # root        ,  $PATH(    ,      )
    root@ganiks-ubuntu-trusty-64:~/node-install# vim /etc/environment
    PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/local/node/bin"
    
    
    #  sudoers  ,          sudo npm
    root@ganiks-ubuntu-trusty-64:~/node-install# vim /etc/sudoers
    Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"
    Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/usr/local/node/bin"
    
     
    まとめ:
    姿勢A:【推奨指数★★☆】ソースコンパイル(遅くなりました.メモリにも気をつけてください.)
    姿勢B:【おすすめ指数★★★】PPAを追加してUbuntuでインストールする(悪くないです.この方式はuuntuです.)
    姿勢C:【オススメ指数:★★★】NPMモジュール【n】でNodeとNPMを更新します.
    姿勢D:【おすすめ指数★★☆】コンパイルしたバッグを直接ダウンロードして/usr/local/binおよび/usr/local/lib/node_に配置します.modules(まあいいです.鶏肉泥棒です.)
    姿勢E:【推奨指数:★☆☆☆】コンパイルされたカバンを直接ダウンロードして配置/usr/local/nodeに環境変数を変更します.PATHはMountのように感じられます.
     
    209.01.19に更新しました
    転載先:https://www.cnblogs.com/ganiks/p/5-install-position-for-new-release-nodejs-for-ubuntu.html