

@ 酒井悠宇
Node.jsについては雰囲気だけで正直全然分かってないので、
https://www.youtube.com/watch?v=wtb0V6a4FXQ&t=37s
↑とかで学習しながらいい感じに記事にしていきたいと思います
Node.jsとはサーバーサイドで動くjavascript。
javascriptとは本来、クライアントサイドで動く言語。
クライアントサイド:サービスや機能を使う側のコンピュータさんのこと。
ユーザーが見ているwebサイト等の、視覚的に見えている範囲で実行可能な言語ということ。
Twitterでとかでいいねを押すと、アニメーション付きでハートが赤くなったりするのはjavascriptのおかげ。
クライアントサイドの対になる存在として、サーバーサイドというものがある。
これは、ユーザーの視覚的ではない部分(裏)の処理を実行しているもの。
Twitterでいいねを押すと、いいねのカウントが1上がって、その投稿の合計のいいね数が表示される。
これはサーバーサイドでプログラムが動いているおかげ。
サーバーサイド側の言語として代表的なものとしては、
PHP、Python、Ruby...とかがある。
でもある時こう思った人がいた。
え、クライアントサイドもサーバーサイドも同じ言語でかけた方が良くね?
javascriptで両方書けるようにしたらいいじゃん!
天才:できたぞ〜!サーバーサイドで動くjavascript、その名もNode.jsじゃ〜!
Node.jsの誕生にはこのような背景がある。
大きく二つ、
・javascriptだけでアプリケーションを作ることができるようになる。
・フロントエンドの環境構築にも使われるので、フロントエンドやっていきたいなら知っておくといい感じ
こんな感じ
html、css、javascriptは環境構築の必要がない。
なぜならブラウザ上で動作する言語である為、ブラウザが解釈して実行してくれるから。
ブラウザにこれらが動く環境が既に用意されてある。
対してNode.jsの場合、自分で環境を作らなければならない。
なぜならサーバーで動作する言語である為、サーバー側でNode.jsのソースコードを解釈しなければならないから。
サーバーにNode.jsが動く環境が用意されていないからインストールする必要がある。
大きく二つ。
Zipファイル:圧縮されたファイル
この方法でもインストールはできるが、この方法はあまりよろしくない。
なぜなら、Node.jsにはバージョンによって、正常に動作するツールとそうでないツールがあるから。
なのでNode.jsを使う上では、「ツールを正常に動かすためにバージョンを変える」という機会が多くある。
そんなときに、いちいち公式サイトからZipファイルをインストールして、自分のパソコンに入っているNode.jsのバージョンを上書きするのは普通にめんどくさい。
nodebrewとは、 Node.jsをインストールするだけでなく、バージョン管理も簡単に行うことができるツール。
こっち使うのが安パイ。
curlコマンド実行
curl -L git.io/nodebrew | perl - setuphttpリクエストを通してサーバーにアクセスして、何かしらのデータをサーバーからダウンロードする、または送るコマンド
httpリクエスト:ホームページを見るときに、ホームページを見るときに使うソフト(Webブラウザ)からホームページのファイルが置いてあるコンピュータ(Webサーバ)に対して出される「このページをちょうだい」なお願いのこと
上記のコマンドにある
git.io/nodebrewにアクセスすると、
のようなファイルが表示される。
これはnodebrewについての色々な情報が格納されているファイルっぽい。
インストールが終われば次は↓のコマンドを実行。
export PATH=$HOME/.nodebrew/current/bin:$PATH何をやっているのかというと、自分のpcにインストールしたnodebrewのファイルの所在をターミナルに教えている。
「nodebrewのパスを通す」というのはこの行為を指す。
「nodebrewというコマンドを実行したときはこのファイルを参照してくださいね」みたいな意味になる。
nodebrew install-binary latest最新バージョンのNode.jsをインストールしますよ
まぁいろんな機能あるけどもしかしたら不具合あるかもね〜って感じ。
nodebrew install-binary stable安定版で一番最新のバージョンをインストールしますよ
ある程度品質は担保されてますよ〜って感じ。
nodebrew install-binary v8.9.1指定のバージョンのNode.js(この場合であればバージョン8.9.1)をインストールしますよって感じ。
Node.jsをインストールする際のコマンドにはには、「nodebrew install」と「nodebrew install-binary」があるが、「nodebrew install-binary」の方が爆速でインストールしてくれるようになっている。
これはなぜかというと、「nodebrew install」でインストールすると、そのバージョンのnode.jsのソースコードをコンパイルするところから始めるのに対して、「nodebrew install-binary」はbinary(二進数)で書かれたファイルをインストールするから。
https://qiita.com/tenshinhan/items/82d60d7495bf52a5afaf
ソースコード(人間語)からコンパイル(機械語に変換)してインストールするか、既に二進数(機械語)で書かれているファイルをインストールするか。もちろんpcにとって簡単なのは後者なのでinstall-binaryの方がnode.jsのインストールが早いということになる。
nodebrewを使ってインストールしたNode.jsのバージョンを切り替える為には、
nodebrew use v16.5.0みたいに「nodebrew use <バージョン>」コマンドを使う。
nodebrew lsこのコマンドで、nodebrewを使ってPCにインストールしたNode.jsのバージョン一覧と、現在使用しているNode.jsのバージョンを見ることができる
node -vあとはこのコマンドで、nodeのバージョンがきちんと切り替わっているのかを確認!
nodebrewを使えばNode.jsのインストールもバージョンの切り替えもめちゃ簡単!
これまでのような工程を踏んでも、「nodebrew use」でnodeのバージョンを変更することができない時、(自分のPCがそうだった)
原因として以下のようなことが考えられる。
・現在使用しているnodeがnodebrew経由でインストールしたものではない(homebrewでインストールしたnodeである)
「nodebrew use」はnodebrewでインストールしたnodeのバージョンを変更するコマンドなので、既にhomebrewでインストールしたnodeを使用している場合、「nodebrew use」でnodeのバージョンを変更することができない。
対処法としては、「homebrew経由でインストールしたnodeを削除する」ということが挙げられる。
$ which nodeまず最初に、nodeコマンドを実行した際にpcが参照するnodeファイルのパスを出力する
/usr/local/opt/node@14/bin/nodeのような出力結果であったとする。
次に、このファイルがhomebrewでインストールされているファイルであるか確かめる
$ brew listこれはhomebrewでインストールしたファイルの一覧を表示するコマンド。
node@14が存在するので、現在PCがhomeblew経由でインストールしたnodeを参照しているということになる。
ちなみにこのコマンドで表示されているファイルは、Finderを開いて左上の「移動」という欄から「フォルダへ移動」を選択して、「/usr/local/Cellar」を入力すると見ることができる。
このファイルを削除する。(手動でゴミ箱に入れてもok)
brew uninstall node@14これをやれば自分のPCではnodebrew useでnodeのバージョンを切り替えられるようになりました。
ならない人はわかんないです。すいません。
多分、既にPCが参照しているnodeファイルの権限をnodebrewが奪うことはできないけど、PCが参照しているnodeファイルがなくなったら、nodebrewの命令が通るみたいな感じなんじゃないかなと思ってます。
javascriptをクライアントサイドとサーバーサイド両方で使えるようにしようぜみたいな考えからNode.jsが生まれた。
Node.jsのインストールやバージョン管理にはnodebrewを使うと快適にいける。
いい感じにNode.jsの雰囲気がわかりました〜。最後までご覧いただき誠にありがとうございました〜!