はじめに。。
今回、Node.jsとnpmコマンドについて学習したので、その復習として記事を書きました。
学習するに当たって利用したのは、環境構築を必要とせずに、PCとブラウザさえあれば利用できてしまうというオンライン学習サービス、Envaderを利用しました。
リンクはこちら Envader
この記事でわかる事
- Envader is 何?
- Node.jsのインストール方法
- npmコマンドの使い方
- package.jsonの意味、意義
動作環境
EnvaderはLinux環境なので、コマンドもそれに付随します。
OS Linux
ディストリビューション Ubuntu 18.04.6 LTS
Envader is 何?
Envaderとはなんぞや?
全体を紹介すると、以下のコースを学習することができるサービスです。
- Linuxコース (一部無料あり)
- セキュリティ基礎コース(無料)
- ターミナルカスタマイズコース(有料)
- Database基礎コース(有料)
- Python環境構築コース(有料)
- Node.js環境構築コース(有料)
これらの学習が、自分でターミナルなどの環境を用意する事なく、サービスに設置された環境で実際に手を動かして実践することができるサイトです。
コース一覧のリンクです。
Node.jsとは
Node.jsですが、一体何者?
○○jsってついているって事は、きっとJavaScriptの仲間だなというのは自分でも何となく分かります。
が、実際にどうなのかと言うと。。。。
JavaScriptはブラウザ側(クライアントサイド)で動作する言語です。
ブラウザ側がボタンをクリックしたら何か通信を発生させたりあれやこれやするやつですね。
それと逆の立場。つまり、ブラウザ側ではなくサーバー側で動作するための実行環境
の事をNode.jsと言います。
気をつけなければいけないなと感じたのは、Node.jsは言語ではなく、あくまで実行環境の事を指しているみたいなので、私も気をつけたいと思います。
Node.jsをubuntuへインストール
# deb.nodesource.comからnodejsのバージョン16のセットアップをダウンロード
curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash -
-fオプション
サーバーエラー時に静かに失敗する(全く出力しない)。
sオプション
サイレントモード。プログレスメーターやエラーメッセージを表示しない。
Sオプション
s と一緒に使用すると、curl が失敗した場合にエラーメッセージを表示するようになる。
Lオプション
サーバがリクエストされたページが別の場所にあるとなった場合に、curlで新しい場所での取得を再試行してくれる。便利!
たくさんオプションが付いてますが、curlコマンドにてNode.jsのバージョン16をダウンロードしてます。
まだこれでは環境にダウンロードしてきただけなので、次に利用できるようにインストールします。
sudo apt install -y nodejs
-yオプション
インストールするときに質問された場合、全てyesにする。
色々聞かれるのめんどうな時に便利。
ちゃんとインストールできたか確認
npm -v
8.3.1
よし!OK!
npmコマンド
上でいきなり出てきたnpm
コマンドですが、いったい何か。
NodePackageManagerの略で、Node.jsで使用するあれやこれやのパッケージを管理してくれるツールのこと。
これを使用することによって、パッケージをインストールすることがでます。
これからNode.jsを使ってアプリケーションを作成したり、Reactを使ったアプリケーションを作成したりするときに活躍する事でしょう。
私はReactを学習する時に使用しました。
パッケージをインストールする時の使い方。
npm install [追加したいパッケージ名]
#バージョンを指定してインストールする場合
npm install [追加したいパッケージ名]@1.14.0
こんな感じで使うことができます。
ちなみに
npm install -D [追加したいパッケージ名]
とする事で、テスト用などの開発環境で使いますよ。といった宣言をして、package.json
に指定することができます。
たった一つのオプションなのに、色々な意味が含まれていて面白いですね。
package.json
package.json
とは何なのか。について調べてみたので下記に記載します。
package.json
とは、作成したプロジェクトの詳細が色々書いてあるファイル。
上記でインストールしたパッケージなどがここに記載されて管理されていきます。
-Dでインストールすると、devDependencies
へ自動で記載されるわけです。
オプションをつけないと、dependencies
へ記載されて、開発用ではなく本番環境用として認識される訳なんですね。
拡張子がjsonとなっているので、package.jsonの記載はjson形式で書かれています。
まとめと感想
まとめ
- Node.jsとは、サーバー側でJavaScriptを動作させるための実行環境。
- Node.jsをubuntuへインストールする際のコマンドの理解。
- npmコマンドの意味と使い方を理解。
- package.jsonの意味の理解。
感想
私は約半年前までは、ターミナルを触ることが大の苦手で、(というか良く分からないので触りたくなかった。)何かやったらデータが消えてしまったりPCの設定が変わって壊してしまうのではないかと思っていました。
ですが、Envaderでは自分のローカルのPCのターミナルを利用するのではなく、サービス側の環境を簡単に使えるので、間違ってバグってしまったとしても環境の再起動
ボタンを押せば何度でも壊すことなく再起動が可能なのです。
この間違ってもボタン一つで環境を再起動できるというのは、私も含め初心者の方には最強の環境なのではないでしょうか?
今回私が取り組んでみたのは、Node.js環境構築コースの中で11あるシナリオの一つ、npmの使い方
です。
参考までにコースのシナリオのリンクを貼っておきますので、気になる方はどうぞ。