これは自分の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の環境構築が出来ました。
皆様の情報共有に感謝。
コメント
[…] 前の投稿前 JavaScriptの実行環境を整理した時の備忘録 検索: […]
[…] JavaScriptの実行環境を整理した時の備忘録 […]