システムの世界は使用するパッケージは日々バージョンアップ等々が繰り返されています。
新しいバージョンは開発途上にあったりして問題が出る場合もあります。
実務で運用するシステムはやはり安定が欲しいものです。node.jsでも、最新版のLTS※を使用したいところです。
そこでこの nvm(Node Version Manager)を利用して安定バージョンを指定してインストールしてみます
※LTSはlong time supportの略で長期サポートをする安定版
1 2 3 4 5 6 7 |
// centOS バージョン確認 $ cat /etc/centos-release CentOS Linux release 7.6.1810 (Core) // curl バージョン確認 $ curl --version curl 7.29.0 (x86_64-redhat-linux-gnu) libcurl/7.29.0 NSS/3.36 zlib/1.2.7 libidn/1.28 libssh2/1.4.3 |
Nvmのインストール用のスクリプトを cURLでダウンロードし実行します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
// インストール用のスクリプトを cURLでダウンロードし実行します。 $ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 12819 100 12819 0 0 18278 0 --:--:-- --:--:-- --:--:-- 18260 => Downloading nvm from git to '/home/khagiwara/.nvm' => Cloning into '/home/khagiwara/.nvm'... remote: Enumerating objects: 267, done. remote: Counting objects: 100% (267/267), done. remote: Compressing objects: 100% (242/242), done. remote: Total 267 (delta 31), reused 80 (delta 15), pack-reused 0 Receiving objects: 100% (267/267), 119.47 KiB | 0 bytes/s, done. Resolving deltas: 100% (31/31), done. => Compressing and cleaning up git repository => Appending nvm source string to /home/[ユーザー名]/.bashrc => Appending bash_completion source string to /home/[ユーザー名]/.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 // 正常終了 |
インストール用のスクリプトを実行すると実行結果のように「ユーザーのホームディレクトリの「.bashrc」に追記されます。
インストール後の環境変数更新およびバージョン、インストール可能な「node.js」確認します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
// .bashrcを source コマンドで更新 $source ~/.bashrc // nvm のバージョン確認 $ nvm --version 0.33.11 // インストール可能なバージョン確認 $ nvm ls-remote v0.1.14 v0.1.15 v0.1.16 ・ ・ v10.16.1 (Latest LTS: Dubnium) // LTS版 ・ ・ v12.7.0 // 最新の安定バージョン (stable) |
node.jsのインストール
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
// 最新の安定バージョンをインストール $ nvm install stable // LTS版 v10.16.1をインストール $ nvm install v10.16.1 // LTS版 v10.16.1 を有効にする。 $ nvm use v10.16.1 Now using node v10.16.1 (npm v6.9.0) // インストール状況確認 $ nvm list -> v10.16.1 v12.7.0 system default -> stable (-> v12.7.0) node -> stable (-> v12.7.0) (default) stable -> 12.7 (-> v12.7.0) (default) iojs -> N/A (default) lts/* -> lts/dubnium (-> v10.16.1) lts/argon -> v4.9.1 (-> N/A) lts/boron -> v6.17.1 (-> N/A) lts/carbon -> v8.16.0 (-> N/A) lts/dubnium -> v10.16.1 // node.js バージョン確認 $ node -v v10.16.1 // npm バージョン確認 $ npm -v 6.9.0 |
npmでパッケージをインストールしてみて動作チェックをします。
インストールしたいフォルダーにpackage.jsonをマニュアルで作成。
または、 npm initで package.json を作成し内容を編集します。
また直接パッケージを指定します。 Ex. npm install [インストールするパッケージ名]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
// package.json を編集した内容を catコマンドで表示しています。 // インストールするのは jQuery v3.x の最新バージョンです。 $ cat ./package.json { "name": "mynode", "version": "1.0.0", "author": "Kenji Hagiwara", "dependencies": { "jquery": "^3.4.1" // jqueryの最新バージョン v3.x.xをインストール } } // jQuery を npmでインストールしてみます。 $ npm install npm notice created a lockfile as package-lock.json. You should commit this file. ・ ・ added 1 package from 1 contributor and audited 1 package in 1.676s found 0 vulnerabilities // jQueryの node_modules が作成されました。 $ ls -al drwxr-xr-x 3 username groupname 4096 8月 3 19:27 node_modules -rw-r--r-- 1 username groupname 353 8月 3 19:27 package-lock.json -rw-r--r-- 1 username groupname 123 8月 3 19:26 package.json // node_modulesないを確認 . ├── node_modules │ └── jquery │ ├── AUTHORS.txt │ ├── LICENSE.txt │ ├── README.md │ ├── bower.json │ ├── dist │ │ ├── core.js │ │ ├── jquery.js │ │ ├── jquery.min.js │ │ ├── jquery.min.map │ │ ├── jquery.slim.js │ │ ├── jquery.slim.min.js │ │ └── jquery.slim.min.map │ ├── external ・ ・ ├── package-lock.json └── package.json // インストールされてたjQueryを確認 $ cat node_modules/jquery/dist/jquery.min.js /*! jQuery v3.4.1 | (c) JS Foundation and other contributors | jquery.org/license */ ・ ・ ・ ・ // jQuery v3.4.1がインストールされているのが確認できました。 |