「Node.js」の版間の差分
Kusanaginoturugi (トーク | 投稿記録) (→パッケージのインストール: ===== Allow user-wide installations ===== を追加(英語版より)) |
Kusanaginoturugi (トーク | 投稿記録) |
||
52行目: | 52行目: | ||
デフォルトでは、上記のコマンドでパッケージは {{ic|/usr/lib/node_modules/npm}} にインストールされるため、実行するのに管理者権限が必要になります。 |
デフォルトでは、上記のコマンドでパッケージは {{ic|/usr/lib/node_modules/npm}} にインストールされるため、実行するのに管理者権限が必要になります。 |
||
+ | ===== ユーザーに ''global'' パッケージのインストールを許可する ===== |
||
− | ===== Allow user-wide installations ===== |
||
− | + | 現在の[[ユーザー]]に、''global'' パッケージのインストールを許可するには、[[環境変数#ユーザー毎|環境変数]] {{ic|npm_config_prefix}} を設定します。これは npm と [https://yarnpkg.com/en/ yarn] の両方で使用されます。 |
|
{{hc|~/.profile|2= |
{{hc|~/.profile|2= |
||
61行目: | 61行目: | ||
}} |
}} |
||
+ | 再ログインまたは、''source'' して変更を更新します。 |
||
− | Re-login or ''source'' to update changes. |
||
+ | {{ic|npm install}} 時に、{{ic|--prefix}} パラメータを指定することもできます。'''ただし'''、グローバルパッケージをインストールするたびに追加する必要があるので、これはお勧め'''しません'''。 |
||
− | 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 |
$ npm -g install packageName --prefix ~/.local |
||
+ | 同様の方法として、{{ic|$HOME/.npmrc}} の {{ic|prefix}} フィールドを編集して、恒久的に変更する方法もあります。 |
||
− | Another method to do the same is to edit {{ic|prefix}} field in {{ic|$HOME/.npmrc}} file to change the install location permanently. |
||
− | {{Note| |
+ | {{Note|最後の方法は、''npm'' のみに特有のものです。}} |
==== パッケージのアップデート ==== |
==== パッケージのアップデート ==== |
2021年9月25日 (土) 22:00時点における版
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
にインストールされるため、実行するのに管理者権限が必要になります。
ユーザーに 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