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からお届けします。

プロジェクトについて

Installs node via nvm globally; includes molecule testing framework.

インストール
ansible-galaxy install grzegorznowak.nvm_node
ライセンス
Unknown
ダウンロード
70.5k
所有者
Let's solve some more problems, shall we ?