「Node.js」の版間の差分
(→参考資料: 同期) |
(→インストール: LTSリリース名の修正) |
||
(他の1人の利用者による、間の22版が非表示) | |||
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}} パッケージを[[インストール]]します。LTS 版もあります: |
|
+ | * {{Pkg|nodejs-lts-iron}} - 20.X バージョンの場合 |
||
+ | * {{Pkg|nodejs-lts-hydrogen}} - 18.X バージョンの場合 |
||
=== 別のインストール方法 === |
=== 別のインストール方法 === |
||
− | + | 様々なバージョンの {{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 の公式パッケージマネージャです。 |
+ | [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 |
+ | === 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'' オプションで直ります: |
||
+ | === エラー Cannot find module ... === |
||
− | $ sudo npm install --unsafe-perm -g node-inspector |
||
+ | |||
+ | npm 5.x.x 以降、package-lock.json ファイルは package.json とともに生成されます。2つのファイルが異なるパッケージバージョンを参照している場合、競合が発生する可能性があります。この問題を解決する一時的な方法は次の通りです: |
||
+ | $ rm package-lock.json |
||
+ | $ npm install |
||
+ | |||
+ | ただし、npm 5.1.0 以降で修正されています。詳細については、以下を参照してください: |
||
+ | |||
+ | [https://github.com/npm/npm/pull/17508 missing dependencies] |
||
== 参考資料 == |
== 参考資料 == |
||
137行目: | 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}} |
2024年9月12日 (木) 22:02時点における最新版
Node.js は便利なライブラリが組み合わされた JavaScript 実行環境です。Google の V8 エンジン を使用してブラウザの外でコードを実行します。イベント駆動型のノンブロッキング I/O モデルを採用しているため、リアルタイムなウェブアプリケーションに適しています。
目次
インストール
nodejs パッケージをインストールします。LTS 版もあります:
- nodejs-lts-iron - 20.X バージョンの場合
- nodejs-lts-hydrogen - 18.X バージョンの場合
別のインストール方法
様々なバージョンの 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/.npmrc
の prefix
フィールドを編集して、恒久的に変更する方法もあります。
パッケージのアップデート
パッケージをアップデートするには次を実行:
$ npm update packageName
グローバルにインストールしたパッケージ (-g
) の場合:
# npm update -g packageName
全てのパッケージをアップデート
場合によっては、全てのパッケージをアップデートしたいと思うかもしれません。ローカルでもグローバルでも可能です。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 以降で修正されています。詳細については、以下を参照してください:
参考資料
nodejs や公式のパッケージマネージャである npm の詳細情報は以下の資料を参照してください:
- Node.js ドキュメント
- NPM ドキュメント
- IRC チャンネル #node.js on irc.freenode.net