April 30, 2019

Node.js & npm をインストーラー無しで 手軽にはじめる

event_noteApril 30, 2019

Windows 環境で これから Node.js をはじめようという場合は、ポータブルに Node.js を使うという手があります。

ただし、すでに Node.js がインストールされている場合は、競合が生じる可能性がありますのでご注意ください。

使用した Node.js のバージョンは 10.15.3 (同梱 npm 6.4.1) の Windows 64bit 版です。

ポータブルなフォルダ構成で Node.js をはじめる

Node.js の zip ファイルを入手

Node.js の公式サイトにアクセスし、Windows Binary (.zip)の列から、64bit 版 もしくは 32bit 版をご自身の環境に合わせてダウンロードして、その zip ファイルを 展開 (解凍) します。

cmd ファイルを作成

以下のコードを、テキストエディタ (メモ帳) などに貼り付け、[任意の名前].cmd という名前で保存してください (以下では、StartNode.cmd というファイル名で進めていきます)。
メモ帳で保存する場合は、文字コードは ANSI を選択しないと上手く動きませんでした。

StartNode.cmd
@echo off
set PATH=%PATH%;%cd%
set NODE_PATH=%cd%\node_modules\npm\node_modules;%cd%\node_modules\npm
cmd

cmd ファイルを node.exe のあるフォルダに配置

今作成した cmd ファイルを、先ほど解凍した、node-v○.○.○-win-x○○フォルダの中の、node.exeがあるフォルダに配置します。
これで 準備は完了です。

Node.js の npm や パッケージのコマンド 使うときは cmd ファイルを開いてから

npm や インストールした npm パッケージのコマンドを使うときは、今配置した cmd ファイルをダブルクリックなどで開き、出現したコマンドプロンプトから操作を行ってください。
試しに、出現したコマンドプロンプトに、

> npm -version

と入力し、Enterで実行してみましょう (文頭の > マークは入力する必要はありません)。
しばらくすると、npm のバージョンが表示されるはずです。

基本的な npm コマンドの用途については、こちらが参考になるかもしれません。

# 対象 Windows系ですがほとんど同じです。 パス記号の記載とかです。 --- # 用語 ## npmとは node.js のパッケージマネージャーで、モジュールというかパッケージというか JavaScriptの便利ライ...

パッケージをグローバルインストールするときの保存先

> npm install -g パッケージ名

のように-gをつけて実行するとパッケージはグローバルインストールされますが、ポータブル環境なので、node.exe があるディレクトリの、node_modulesフォルダの中にインストールされます。

参考リンク

Node.js と npm について

  • もともと Node.js は サーバー側で動く JavaScript の実行環境 として生まれ
  • Node.js 向けの パッケージ管理ツールnpmを使って、開発に必要なファイルの自動一括インストール (ダウンロード) が可能
  • そのインストールしたパッケージを組み合わせて タスク自動化 や HTML・JSファイルの生成 など色々できる
  • そのため、サーバー側 だけではなく、従来の JavaScript の本分である、ブラウザで表示される Webページ の開発にも用いられるようになってきている

というのが、Node.js について調べた限りでの私の理解です。

JavaScript の世界での Node.js の立ち位置

以下の記事がそれぞれ参考になりました。

#はじめに CommonJS、ES6、Node.js、Webpack、Browserify...etc JSの勉強してると、登場する単語が多すぎて、どうも全体像つかめません。 そして勉強していくにつれて、「これ前提知らないと分からない...
## 背景 Javascript で Web アプリを作ろうとすると、よくわからないことだらけで超混乱します。 * npm と bower の違いは? * npm はサーバーサイド用、bower はクライアントサイド用らし...

npm を使って解説をされているページでは、
JavaScript の 最新版である ES6・ES7
JavaScript の 代替言語 の TypeScript (Microsoftが開発元) など
を使って、コードが書かれていることが多く、これらと Node.js はセットなのではと個人的に勘違いしてしまっていましたが、あくまでもそれらの文法は選択肢のいくつかに過ぎず
Node.js は、

  • ES6・ES7 や TypeScript の文法を用いた開発であっても
  • Node.js 独自の JavaScript 環境でのサーバーサイドの処理であっても
  • 素のブラウザで実行できる昔ながらのJSを使ったWebページの作成であっても

npm のパッケージを組み合わせて、ある程度自動化・効率化して行えるツール なのだということが分かりました。