「Node.js」の版間の差分
Kusanaginoturugi (トーク | 投稿記録) 細 (typo) |
Kusanaginoturugi (トーク | 投稿記録) (→パッケージのインストール: ===== Allow user-wide installations ===== を英語版より追加) |
||
80行目: | 80行目: | ||
変更を適用するために、一度ログアウトしてからログインしなおすか、シェルを再起動してください。 |
変更を適用するために、一度ログアウトしてからログインしなおすか、シェルを再起動してください。 |
||
+ | |||
+ | ===== Allow user-wide installations ===== |
||
+ | |||
+ | To allow ''global'' package installations for the current [[user]], set the {{ic|npm_config_prefix}} [[Environment_variables#Per_user|environment variable]]. This is used by both npm and [https://yarnpkg.com/en/ yarn]. |
||
+ | |||
+ | {{hc|~/.profile|2= |
||
+ | PATH="$HOME/.local/bin:$PATH" |
||
+ | export npm_config_prefix="$HOME/.local" |
||
+ | }} |
||
+ | |||
+ | Re-login or ''source'' to update changes. |
||
+ | |||
+ | You can also specify the {{ic|--prefix}} parameter for {{ic|npm install}}. However, this is '''not''' recommended, since you will need to add it every time you install a global package. |
||
+ | |||
+ | $ npm -g install packageName --prefix ~/.local |
||
+ | |||
+ | Another method to do the same is to edit {{ic|prefix}} field in {{ic|$HOME/.npmrc}} file to change the install location permanently. |
||
+ | |||
+ | {{Note|The last method is specific to ''npm'' only.}} |
||
==== パッケージのアップデート ==== |
==== パッケージのアップデート ==== |
2021年9月2日 (木) 11:12時点における版
Node.js は便利なライブラリが組み合わされた JavaScript 実行環境です。Google の V8 エンジン を使用してブラウザの外でコードを実行します。イベント駆動型のノンブロッキング I/O モデルを採用しているため、リアルタイムなウェブアプリケーションに適しています。
目次
インストール
nodejs パッケージをインストールします。LTS 版もあります:
- nodejs-lts-fermium - 14.X バージョンの場合
- nodejs-lts-erbium - 12.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
にインストールされるため、実行するのに管理者権限が必要になります。
ユーザー個別にインストールする場合、別のローカルフォルダを使うように npm
を設定することができます。様々な方法で設定できます:
- 手動で
--prefix
コマンドラインフラグを使う (例:npm -g install packageName --prefix ~/.node_modules
)。 npm_config_prefix
環境変数を使う。- ユーザーの設定ファイル
~/.npmrc
を使う。
1番目の方法は推奨されていません。インストールした場所を覚えておく必要があり、操作を行う度にパラメータを指定しなくてはならないためです。
2番目の方法を使う場合、シェルの設定ファイル (例: .bash_profile
) に以下の行を追加してください:
PATH="$HOME/.node_modules/bin:$PATH" export npm_config_prefix=~/.node_modules
変更を適用するために、一度ログアウトしてからログインしなおすか、シェルを再起動してください。
3番目の方法では以下のコマンドを使います:
$ npm config edit
prefix
オプションを探して、適当な場所に設定してください:
prefix=~/.node_modules
行頭の ;
は忘れずに削除してください。そのままではコメントとして認識されてしまいます。上記の設定をしたら、シェルの設定ファイル (例: .bash_profile
) に実行ファイルの場所を追加します:
export PATH="$HOME/.node_modules/bin:$PATH"
変更を適用するために、一度ログアウトしてからログインしなおすか、シェルを再起動してください。
Allow user-wide installations
To allow global package installations for the current user, set the npm_config_prefix
environment variable. This is used by both npm and yarn.
~/.profile
PATH="$HOME/.local/bin:$PATH" export npm_config_prefix="$HOME/.local"
Re-login or source to update changes.
You can also specify the --prefix
parameter for npm install
. However, this is not recommended, since you will need to add it every time you install a global package.
$ npm -g install packageName --prefix ~/.local
Another method to do the same is to edit prefix
field in $HOME/.npmrc
file to change the install location permanently.
パッケージのアップデート
パッケージをアップデートするには次を実行:
$ 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