「Node.js」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
 
(同じ利用者による、間の18版が非表示)
2行目: 2行目:
 
[[en:Node.js]]
 
[[en:Node.js]]
 
[[zh-hans:Node.js]]
 
[[zh-hans:Node.js]]
  +
[http://nodejs.org/ Node.js] は便利なライブラリが組み合わされた JavaScript 実行環境です。[https://code.google.com/p/v8/ Google の V8 エンジン] を使用してブラウザの外でコードを実行します。イベント駆動型のノンブロッキング I/O モデルを採用しているため、リアルタイムなウェブアプリケーションに適しています。
{{Related articles start}}
 
{{Related|Electron}}
 
{{Related articles end}}
 
[http://nodejs.org/ Node.js] は便利なライブラリが組み合わされた javascript 実行環境です。[https://code.google.com/p/v8/ Google の V8 エンジン] を使用してブラウザの外でコードを実行します。イベント駆動であり I/O をブロックしないため、リアルタイムなウェブアプリケーションに適しています。
 
   
 
== インストール ==
 
== インストール ==
   
[[公式リポジトリ]]から {{Pkg|nodejs}} パッケージをインストールできます。
+
{{Pkg|nodejs}} パッケージを[[インストール]]します。LTS 版もあります:
  +
* {{Pkg|nodejs-lts-fermium}} - 14.X バージョンの場合
  +
* {{Pkg|nodejs-lts-erbium}} - 12.X バージョンの場合
   
 
=== 別のインストール方法 ===
 
=== 別のインストール方法 ===
   
珍しくないことに、様々なバージョンの {{Pkg|nodejs}} を動作させる必要があったり、それがしい場合がありま。node ユーザーの間で推奨されている方法は [https://github.com/creationix/nvm NVM] (Node Version Manger) の使用です。{{AUR|nvm}} を使うことで簡単にインストールすることができます。使用方法はプロジェクトの github にまとめられていますが、要するに次を実行するだけです:
+
様々なバージョンの {{Pkg|nodejs}} を動作させる必要があったり、または動作させることをむことは珍しいことではありません。node ユーザーの間で推奨されている方法は [https://github.com/creationix/nvm NVM] (Node Version Manger) の使用です。{{AUR|nvm}} を使うことで簡単にインストールすることができます。
   
  +
これをシェルの起動ファイルに追加することで設定できます:
$ nvm install VERSION_NUM
 
  +
  +
# Set up Node Version Manager
  +
source /usr/share/nvm/init-nvm.sh
  +
  +
使用方法はプロジェクトの github にまとめられていますが、要するに次を実行するだけです:
  +
  +
$ nvm install 8.0
  +
Downloading and installing node v8.0.0...
  +
[..]
  +
  +
$ nvm use 8.0
  +
Now using node v8.0.0 (npm v5.0.0)
  +
  +
{{AUR|nvm}} を使う場合、以前は AUR の {{ic|nodejs-fake}} パッケージを使うことが推奨されていましたが、これは現在、[https://lists.archlinux.org/pipermail/aur-requests/2018-January/021828.html 削除]されています。推奨される方法は、マニュアル {{man|8|pacman|TRANSACTION OPTIONS (APPLY TO -S, -R AND -U)}} にあるように、{{ic|1=--assume-installed nodejs=<version>}} を使うことです。
  +
  +
ディレクトリに、.nvmrc ファイルがあるたびに、`nvm use` を自動的に実行したい場合は、{{ic|~/.bashrc}} に[https://stackoverflow.com/a/50378304 以下]を追加してください。
   
 
== Node Packaged Module ==
 
== Node Packaged Module ==
   
[https://www.npmjs.org/ npm] は node.js の公式パッケージマネージャです。{{Pkg|nodejs}} 0.12.2-4 から、{{ic|npm}} はパッケージに含まれないようになりました。[[公式リポジトリ]]から {{Pkg|npm}} パッケージでインストールできます。
+
[https://www.npmjs.org/ npm] は node.js の公式パッケージマネージャです。{{Pkg|npm}} パッケージでインストールできます。
   
 
=== npm でパッケージを管理 ===
 
=== npm でパッケージを管理 ===
37行目: 52行目:
 
デフォルトでは、上記のコマンドでパッケージは {{ic|/usr/lib/node_modules/npm}} にインストールされるため、実行するのに管理者権限が必要になります。
 
デフォルトでは、上記のコマンドでパッケージは {{ic|/usr/lib/node_modules/npm}} にインストールされるため、実行するのに管理者権限が必要になります。
   
  +
===== ユーザーに ''global'' パッケージのインストールを許可する =====
ユーザー個別にインストールする場合、別のローカルフォルダを使うように {{ic|npm}} を設定することができます。様々な方法で設定できます:
 
   
  +
現在の[[ユーザー]]に、''global'' パッケージのインストールを許可するには、[[環境変数#ユーザー毎|環境変数]] {{ic|npm_config_prefix}} を設定します。これは npm と [https://yarnpkg.com/en/ yarn] の両方で使用されます。
* 手動で {{ic|--prefix}} コマンドラインフラグを使う (例: {{ic|npm -g install packageName --prefix ~/.node_modules}})。
 
* {{ic|npm_config_prefix}} 環境変数を使う。
 
* ユーザーの設定ファイル {{ic|~/.npmrc}} を使う。
 
   
  +
{{hc|~/.profile|2=
1番目の方法は推奨されていません。インストールした場所を覚えておく必要があり、操作を行う度にパラメータを指定しなくてはならないためです。
 
  +
PATH="$HOME/.local/bin:$PATH"
  +
export npm_config_prefix="$HOME/.local"
  +
}}
   
  +
再ログインまたは、''source'' して変更を更新します。
2番目の方法を使う場合、シェルの設定ファイル (例: {{ic|.bash_profile}}) に以下の行を追加してください:
 
   
  +
{{ic|npm install}} 時に、{{ic|--prefix}} パラメータを指定することもできます。'''ただし'''、グローバルパッケージをインストールするたびに追加する必要があるので、これはお勧め'''しません'''。
PATH="$HOME/.node_modules/bin:$PATH"
 
export npm_config_prefix=~/.node_modules
 
   
  +
$ npm -g install packageName --prefix ~/.local
変更を適用するために、一度ログアウトしてからログインしなおすか、シェルを再起動してください。
 
   
  +
同様の方法として、{{ic|$HOME/.npmrc}} の {{ic|prefix}} フィールドを編集して、恒久的に変更する方法もあります。
3番目の方法では以下のコマンドを使います:
 
   
  +
{{Note|最後の方法は、''npm'' のみに特有のものです。}}
$ npm config edit
 
 
{{ic|prefix}} オプションを探して、適当な場所に設定してください:
 
 
prefix=~/.node_modules
 
 
行頭の {{ic|;}} は忘れずに削除してください。そのままではコメントとして認識されてしまいます。上記の設定をしたら、シェルの設定ファイル (例: {{ic|.bash_profile}}) に実行ファイルの場所を追加します:
 
 
export PATH="$HOME/.node_modules/bin:$PATH"
 
 
変更を適用するために、一度ログアウトしてからログインしなおすか、シェルを再起動してください。
 
   
 
==== パッケージのアップデート ====
 
==== パッケージのアップデート ====
76行目: 81行目:
 
# npm update -g packageName
 
# npm update -g packageName
   
{{Note|グローバルにパッケージをインストールときは管理者権限が必要なので注意してください。}}
+
{{Note|グローバルにインストールされパッケージ、{{ic|prefix}} がユーザーが書き込み可能なディレクトリに設定されていない限り管理者権限が必要なので注意してください。}}
   
 
===== 全てのパッケージをアップデート =====
 
===== 全てのパッケージをアップデート =====
100行目: 105行目:
 
$ npm uninstall packageName
 
$ npm uninstall packageName
   
==== パッケージの確認 ====
+
==== パッケージの一覧表示 ====
   
 
グローバルにインストールしたパッケージのツリービューを表示するには次を使用:
 
グローバルにインストールしたパッケージのツリービューを表示するには次を使用:
120行目: 125行目:
 
== トラブルシューティング ==
 
== トラブルシューティング ==
   
=== node-gyp の python エラー ===
+
=== node-gyp エラー ===
   
node モジュールの中には、Python 3 をサポートしていない {{ic|node-gyp}} ユーティリティを使用するものがあります。大抵の場合、システム全体の Python 実行ファイルのデフォルトは Python 3 です。Python のエラーを解決するには、{{Pkg|python2}} をインストールして、以下のように npm でデフォルトの Python を設定してください:
 
   
  +
次のようなエラーの場合 {{ic|gyp WARN EACCES user "root" does not have permission to access the ... dir}} は {{ic|--unsafe-perm}} オプションが役立つ場合があります。
$ npm config set python /usr/bin/python2
 
   
  +
# npm install --unsafe-perm -g node-inspector
'''gyp WARN EACCES user "root" does not have permission to access the ... dir''' などのエラーが起こるときは ''--unsafe-perm'' オプションで直ります:
 
 
$ sudo npm install --unsafe-perm -g node-inspector
 
   
 
=== エラー Cannot find module ... ===
 
=== エラー Cannot find module ... ===
147行目: 149行目:
 
* [https://docs.npmjs.com/ NPM ドキュメント]
 
* [https://docs.npmjs.com/ NPM ドキュメント]
 
* IRC チャンネル #node.js on irc.freenode.net
 
* IRC チャンネル #node.js on irc.freenode.net
  +
  +
{{TranslationStatus|Node.js|2021-09-25|689079}}

2021年10月7日 (木) 10:54時点における最新版

Node.js は便利なライブラリが組み合わされた JavaScript 実行環境です。Google の V8 エンジン を使用してブラウザの外でコードを実行します。イベント駆動型のノンブロッキング I/O モデルを採用しているため、リアルタイムなウェブアプリケーションに適しています。

インストール

nodejs パッケージをインストールします。LTS 版もあります:

別のインストール方法

様々なバージョンの nodejs を動作させる必要があったり、または動作させることを望むことは珍しいことではありません。node ユーザーの間で推奨されている方法は NVM (Node Version Manger) の使用です。nvmAUR を使うことで簡単にインストールすることができます。

これをシェルの起動ファイルに追加することで設定できます:

# Set up Node Version Manager
source /usr/share/nvm/init-nvm.sh

使用方法はプロジェクトの github にまとめられていますが、要するに次を実行するだけです:

$ nvm install 8.0
Downloading and installing node v8.0.0...
[..]

$ nvm use 8.0
Now using node v8.0.0 (npm v5.0.0)

nvmAUR を使う場合、以前は AUR の nodejs-fake パッケージを使うことが推奨されていましたが、これは現在、削除されています。推奨される方法は、マニュアル pacman(8) § TRANSACTION OPTIONS (APPLY TO -S, -R AND -U) にあるように、--assume-installed nodejs=<version> を使うことです。

ディレクトリに、.nvmrc ファイルがあるたびに、`nvm use` を自動的に実行したい場合は、~/.bashrc以下を追加してください。

Node Packaged Module

npm は node.js の公式パッケージマネージャです。npm パッケージでインストールできます。

npm でパッケージを管理

パッケージのインストール

全てのパッケージは次のコマンドでインストールできます:

$ npm install packageName

上のコマンドでパッケージがカレントディレクトリの node_modules に、実行ファイルが node_modules/.bin にインストールされます。

システム全体にインストールするには -g スイッチを使います:

# npm -g install packageName

デフォルトでは、上記のコマンドでパッケージは /usr/lib/node_modules/npm にインストールされるため、実行するのに管理者権限が必要になります。

ユーザーに global パッケージのインストールを許可する

現在のユーザーに、global パッケージのインストールを許可するには、環境変数 npm_config_prefix を設定します。これは npm と yarn の両方で使用されます。

~/.profile
PATH="$HOME/.local/bin:$PATH"
export npm_config_prefix="$HOME/.local"

再ログインまたは、source して変更を更新します。

npm install 時に、--prefix パラメータを指定することもできます。ただし、グローバルパッケージをインストールするたびに追加する必要があるので、これはお勧めしません

$ npm -g install packageName --prefix ~/.local

同様の方法として、$HOME/.npmrcprefix フィールドを編集して、恒久的に変更する方法もあります。

ノート: 最後の方法は、npm のみに特有のものです。

パッケージのアップデート

パッケージをアップデートするには次を実行:

$ npm update packageName

グローバルにインストールしたパッケージ (-g) の場合:

# npm update -g packageName
ノート: グローバルにインストールされたパッケージは、prefix がユーザーが書き込み可能なディレクトリに設定されていない限り管理者権限が必要なので注意してください。
全てのパッケージをアップデート

場合によっては、全てのパッケージをアップデートしたいと思うかもしれません。ローカルでもグローバルでも可能です。packageName を抜いて npm を実行すると全てのパッケージがアップデートされます:

$ npm update

またはグローバルにインストールしたパッケージをアップデートするには -g フラグを追加:

# npm update -g

パッケージの削除

-g スイッチを使ってインストールしたパッケージを削除するには次のコマンドを使用:

# npm -g uninstall packageName
ノート: グローバルにパッケージをインストールしたときは管理者権限が必要なので注意してください。

ローカルパッケージを削除するときはスイッチを省いて実行:

$ npm uninstall packageName

パッケージの一覧表示

グローバルにインストールしたパッケージのツリービューを表示するには次を使用:

$ npm -g list

場合によってツリーは深くなりすぎることがあります。トップレベルのパッケージだけを表示するには:

$ npm list --depth=0

アップデートが必要な古いパッケージだけを表示するには:

$ npm outdated

pacman でパッケージを管理

Arch User Repository には nodejs-packageName という名前で node.js のパッケージがいくつか存在します。

トラブルシューティング

node-gyp エラー

次のようなエラーの場合 gyp WARN EACCES user "root" does not have permission to access the ... dir--unsafe-perm オプションが役立つ場合があります。

# npm install --unsafe-perm -g node-inspector

エラー Cannot find module ...

npm 5.x.x 以降、package-lock.json ファイルは package.json とともに生成されます。2つのファイルが異なるパッケージバージョンを参照している場合、競合が発生する可能性があります。この問題を解決する一時的な方法は次の通りです:

$ rm package-lock.json
$ npm install

ただし、npm 5.1.0 以降で修正されています。詳細については、以下を参照してください:

missing dependencies

参考資料

nodejs や公式のパッケージマネージャである npm の詳細情報は以下の資料を参照してください:

翻訳ステータス: このページは en:Node.js の翻訳バージョンです。最後の翻訳日は 2021-09-25 です。もし英語版に 変更 があれば、翻訳の同期を手伝うことができます。