JavaScript: JavaScriptの実行環境を整理した時の備忘録

これは自分のMacにおけるJavaScriptの環境を整えた時の紆余曲折の備忘録。
結論としては、
nodeはnodebrewをインストールしてから、nodebrewを使ってインストールすると便利。
最初のインストール時はPATHを設定する事。

なぜJavaScriptの環境を整理したくなったのか

現在、PythonだけだとHTML、CSS周りのコードで分かりにくい部分が多い為、JavaScriptも外せないとまずはProgateで勉強中。

簡単なファイル一つで済むコードはChromeのデベロッパーツールのコンソールに打ち込んで試せば良く、実行環境は気にせずに来たが、複数ファイルに跨がる処理も出てきたのでそろそろしんどくなってきた。
ターミナル、もしくはVS Codeから実行出来る環境を用意したい。

現状の確認

nodeが入っているかどうかは-vで確認出来る。

nodeが入っていれば
node ファイル名
で実行出来る。

% node -v     
v14.15.4

あれ、私のMacにはnodeが入っている。
そう言えばかつてnodeだけ設定したことがあった様な。
ともあれ実行してみる。

ファイル実行を試してみる

ファイル”test.js”を下記の様に準備。

console.log("Hello World!")
% node test.js
Hello World!

出来た。
これでターミナルからファイルを実行出来るのは確認できた。


nodeが入っていない場合にはこちらの記事が参考になります。
Node.js を Mac にインストール(nodebrew の使い方)
有用な情報共有感謝。

対話(interactive)モードの入り方と出方

一行ずつ対話モードで実行するにはnodeを起動する。

% node
Welcome to Node.js v14.15.4.
Type ".help" for more information.
> console.log("Hello world!");
Hello world!
undefined

出る時は.exitと入力するか、control + d、control + cを2回入力。
下記はcontrol + cを1回入力した時のもの。
もう1回control + cを押すとインタラクティブモードから出る。

> 
(To exit, press Ctrl+C again or Ctrl+D or type .exit)

nodebrewをインストールする

今回確認した時にはnodeは入っていたものの、nodebrewは入っていなかったので、nodebrewをbrewでインストール。

% brew install nodebrew
 % nodebrew -v
nodebrew 1.1.0

Usage:
    nodebrew help                         Show this message
    nodebrew install <version>            Download and install <version> (from binary)
    nodebrew compile <version>            Download and install <version> (from source)
    nodebrew install-binary <version>     Alias of `install` (For backward compatibility)
    nodebrew uninstall <version>          Uninstall <version>
    nodebrew use <version>                Use <version>
    nodebrew list                         List installed versions
    nodebrew ls                           Alias for `list`
    nodebrew ls-remote                    List remote versions
    nodebrew ls-all                       List remote and installed versions
    nodebrew alias <key> <value>          Set alias
    nodebrew unalias <key>                Remove alias
    nodebrew clean <version> | all        Remove source file
    nodebrew selfupdate                   Update nodebrew
    nodebrew migrate-package <version>    Install global NPM packages contained in <version> to current version
    nodebrew exec <version> -- <command>  Execute <command> using specified <version>

Example:
    # install
    nodebrew install v8.9.4

    # use a specific version number
    nodebrew use v8.9.4

nodebrewで認識してくれない

ここまで来た所である事に気づく。

nodebrewを入れずにnodeを入れてしまったからのなか、今入っているはずのnodeをnodebrewで認識してくれない。

% nodebrew list  
not installed

current: none
% node -v
v14.15.4
% nodebrew use v14.15.4
v14.15.4 is not installed

更に、これが原因なのか分からないが、その他のインストール等のコマンドも効かない。

% nodebrew install stable
Fetching: https://nodejs.org/dist/v16.13.0/node-v16.13.0-darwin-x64.tar.gz
Warning: Failed to create the file 
Warning: /Users/ShujiKatoMBPro/.nodebrew/src/v16.13.0/node-v16.13.0-darwin-x64.
Warning: tar.gz: No such file or directory
                                                                                            0.0%
curl: (23) Failed writing body (0 != 1119)
download failed: https://nodejs.org/dist/v16.13.0/node-v16.13.0-darwin-x64.tar.gz

nodeのアンインストールとnodebrewでのインストール

一旦v14.15.4をアンインストールしてから入れ直すことにする。

参考にさせて頂いたのはこちらの記事
【Mac版】node.jsのアンインストールと再インストール手順メモ

元々brewでインストールしていなかった様なので直接アンインストールしました。

npmのアンインストール

% npm uninstall -a npm
npm WARN saveError ENOENT: no such file or directory, open '/Users/~~/P_sample/package.json'
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN enoent ENOENT: no such file or directory, open '/Users/~~/Psample/package.json'
npm WARN Progate_sample No description
npm WARN Progate_sample No repository field.
npm WARN Progate_sample No README data
npm WARN Progate_sample No license field.

up to date in 0.731s
found 0 vulnerabilities



   ╭───────────────────────────────────────────────────────────────╮
   │                                                               │
   │      New major version of npm available! 6.14.10 → 8.1.2      │
   │   Changelog: https://github.com/npm/cli/releases/tag/v8.1.2   │
   │               Run npm install-g npm to update!               │
   │                                                               │
   ╰───────────────────────────────────────────────────────────────╯

% rm -rf .npm \
> node_modules

nodeのアンインストールとアンインストール出来たかの確認。

% which node
/usr/local/bin/node

% rm -rf /usr/local/bin/node \
> node_modules

% which node                  
node not found

別の原因を探してみる

nodebrewの前に入っていたnodeをアンインストールできたので、改めてインストールしたがやはり同じエラーが出る。

これはどうも別の理由の様だ。

nodebrew install stable download failed

でググると、Homebrewでnodebrewインストール時にdownload failedエラーと言うサイトに出会えた。情報共有感謝。

nodebrew steup

サイト内に説明して下さっていた通り、nodebrew setupをしてからインストールをしたら、無事にインストール完了できました。

% nodebrew setup
Fetching nodebrew...
Installed nodebrew in $HOME/.nodebrew

========================================
Export a path to nodebrew:

export PATH=$HOME/.nodebrew/current/bin:$PATH
========================================
% nodebrew install stable 
Fetching: https://nodejs.org/dist/v16.13.0/node-v16.13.0-darwin-x64.tar.gz
############################################################################################################################################# 100.0%
Installed successfully

% nodebrew ls                 
v16.13.0

current: none


元々がnodebrew setupをしていなかったのがエラーの原因だったなら、これで解決出来たのかも知れない。

インストール成功、しかしまだ認識はされていない

所で、現時点ではまだnodebrewがnodeを認識していない。

% which node    
node not found

% node -v
zsh: command not found: node

nodeの有効化

認識の為には、有効化が必要です。

% nodebrew ls    
v16.13.0

current: none
% nodebrew use v16.13.0
use v16.13.0
% nodebrew ls
v16.13.0

current: v16.13.0

1つ目のコマンド”nodebrew ls”では”crrent: none”と出力されましたが、
2つ目のコマンド”nodebrew use v16.13.0″で”use v16.13.0″と有効化されましたた。
3つ目のコマンド”nodebrew ls”で”current: v16.13.0″と有効になっている事がわかります。

認識されたのに出るエラー

currentに表示されたので認識されたはずだが、相変わらずcommand not foundが出る。

% node -v
zsh: command not found: node

ネット上を徘徊していたらこちらの記事を見かけた
Node.jsのバージョンアップ for Mac
なる程、パスが通っていないのかも知れない。

PATHを通す

この記事はbashにおけるパス設定、当方はzshを使用しているので.zprofile にパスを設定します。

% vim ~/.zprofile

で開いた.zprofile内に下記の文言を追記。

# nodeへのパスを通す
export PATH=$HOME/.nodebrew/current/bin:$PATH

そして.zprofileを有効化。
このコードで上手く行かない場合再起動も可。

% source ~/.zprofile 

やっと認識してくれました。

% node -v
v16.13.0
which node
/Users/(username)/.nodebrew/current/bin/node
% node
Welcome to Node.js v16.13.0.
Type ".help" for more information.
> 

新たにインストールしたnodev16.13.0の保存場所は、nodebrewを使わずインストールした元々のv14の保存場所”/usr/local/bin/node”と違っているので、やはりnodebrew経由でのインポートに揃える場合には一旦アンインストールが必要なのかも知れません。

お陰様で何とかJavaScriptの環境構築が出来ました。
皆様の情報共有に感謝。

コメント

  1. […] 前の投稿前 JavaScriptの実行環境を整理した時の備忘録 検索: […]

  2. […] JavaScriptの実行環境を整理した時の備忘録 […]

タイトルとURLをコピーしました