grzegorznowak.nvm_node
Ansible NVM Node
NVMを介してNodeをDebianおよびRedhatにインストールします。
インストール方法
次のいずれかを実行してください:
ansible-galaxy install grzegorznowak.nvm_node
- リポジトリを直接クローンします。
免責事項
これは、aptやyumなどの便利な機能に依存せず、またNVMの推奨される使用方法(@ see https://github.com/creationix/nvm/issues/1533)に従っていない、特別なNodeのインストールです。 バージョン管理はAnsible自体でのみ実現できます。 ここで示されたセットアップが、実際に必要なものであることを確認してください。 用途としては__70%__がDEV向け、__30%__が本番向けです。 そして、__0%__で多くのユーザー/ロールが1台のサーバーで使用する場合は、現状では動作しません (ただし、最小限の変更を加えることで将来的に動作する可能性はあります)。
要点は、nvmをグローバルパスにインストールし、それを一般的にアクセスできるように/usr/local/bin
にシンボリックリンクを作成し、システムの各ユーザーのためにNVMのパスを含めるためにグローバルbashrcを改変することです。
これは小さなことですが、NVMがユーザーごとのツールであるという概念を壊し、特定の非対話型シェルを使用したときに100%完璧に動作しないことがあります。この場合、npmでインストールしたパッケージの使用に影響を及ぼす可能性があります。
__しかし__、nvmは本当に私たちのお気に入りのツールなので、私たちはこのように使う必要があり、あなたもそうかもしれません!
要件
依存関係は特になく、nvmインストールスクリプトを取得するためにwget
をインストールします。
対応ディストリビューション
現在、以下のディストリビューションでビルドおよび統合されています:
Ubuntu: 20.04, 18.04, 16.04, 14.04
Debian: buster, stretch
CentOS: 7
変数
デフォルト
nvm_install_script_version: "0.33.11" # 使用するnvmインストールスクリプト(この文書作成時の最新安定版)
nvm_user_name: "root" # 別のユーザーを使用できます。最終的にもっとnvm的なアプローチを実現できるかもしれませんが、
# テスト等ではその点をカバーしていません。
nvm_dir: "/var/lib/nvm" # グローバル(デフォルト)インストール用。nvm_user_name変数と同じルールに従ってください。
nvm_node_version: "8.11.3" # nvmを介してインストールするNodeのバージョン
nvm_install_globally: [] # グローバルにインストールし、シンボリックリンクを作成するライブラリ、詳細については下に記載
例プレイブック
GitHubからクローンした場合
---
- hosts: all
vars:
nvm_node_version: "4.1.1"
roles:
- role: ansible-nvm-node
ansible-galaxyからの場合
---
- hosts: all
vars:
nvm_node_version: "your.node.version"
roles:
- role: grzegorznowak.nvm_node
Nodeのアップグレード
単純にnvm_node_version
を使用したいバージョンに置き換え、プレイブックを再実行してください。
グローバルパッケージのインストール
一貫性のために、このロールを使用してグローバルパッケージをインストールすることを強くお勧めします。この場合、nvm_install_globally
変数を次のように編集してください:
nvm_install_globally: ['gulp']
バージョンをターゲットにしたグローバルパッケージも使用できます:
nvm_install_globally:
- name: yarn
version: 1.9.4
または、両方を組み合わせて使用できます:
nvm_install_globally:
- gulp
- lighthouse
- name: yarn
version: 1.9.4
これにより、リストされたライブラリがインストールされ、特定の環境がアクセスできるように$PATHにシンボリックリンクが作成されます(例:cron)。
テスト
要件
必要なもの全てを持つ仮想環境をインストールするヘルパースクリプトを使用できます。
./bootstrap_test.sh
その後、source test_env/bin/activate
で仮想環境を有効にするか、
完全に手動で行うこともできます(より細かい制御が可能です)。
sudo apt install virtualenv python3-pip
virtualenv test_env --python=python3
source test_env/bin/activate
pip install -r test-requirements.txt
LXCコンテナでのテスト
molecule test
モレキュールからの追加特典
molecule converge
のようにさまざまな便利なことを行うことができ、インスタンスを簡単に作成し、その後、molecule destroy
で削除できます。ここでは本当に無限の可能性があります!
スポンサー
Kwiziq.com - AI言語教育プラットフォーム
Spottmedia.com - 技術設計、提供およびコンサルティング
著者情報
愛を込めてGrzegorz Nowakからお届けします。