CentOS7にnode.jsとdreddをインストールする手順 | 瀬戸内の雲のように

CentOS7にnode.jsとdreddをインストールする手順

Posted: 2019-02-04


スポンサーリンク

目次

  • はじめに
  • 環境
  • 手順1: node.jsのインストール
    • リポジトリのインストール
    • 手順2 dreddのインストール

      はじめに

      以前 別の記事: swaggerを読み込み自動でAPIのテストを実行するツール:dredd でもご紹介しましたが、APIの試験を自動化するツールとしてdreddというものがあります。

      これは swagger で使うOpenAPI2.0という形式で書かれたAPIリファレンスを読み込ませると試験を自動的に行なってくれるというスグレモノです。

      以前はmacに入れて使っていたのですが、チームで使うためにはサーバに入れる必要があるということで、今回はCentOS7にインストールする手順を書きたいと思います。

       

      環境

      • Vmware ESXi 6.5
      • CentOS Linux release 7.4.1708 (Core)

       

      手順1: node.jsのインストール

      まず最初にdreddのベースとなっているnode.jsをインストールします。

      リポジトリのインストール

      node.jsはyumでインストール可能ですので、まずは専用のリポジトリを取得します。

      sudo su -
      curl -sL https://rpm.nodesource.com/setup_8.x | sudo bash -
      

      結果

      ## Installing the NodeSource Node.js 8.x LTS Carbon repo...
      
      
      ## Inspecting system...
      
      + rpm -q --whatprovides redhat-release || rpm -q --whatprovides centos-release || rpm -q --whatprovides cloudlinux-release || rpm -q --whatprovides sl-release
      + uname -m
      
      ## Confirming "el7-x86_64" is supported...
      
      + curl -sLf -o /dev/null 'https://rpm.nodesource.com/pub_8.x/el/7/x86_64/nodesource-release-el7-1.noarch.rpm'
      

       
      ここでしばらく待っていたのですが、なぜかこの状態で止まってしまいました。
      ので、一回 Ctrl + c で止め、wgetでrpmパッケージを取得します。

      wget  'https://rpm.nodesource.com/pub_8.x/el/7/x86_64/nodesource-release-el7-1.noarch.rpm'
      

       
      以下のように表示されればダウンロード完了です。

      --2019-02-04 15:56:28--  https://rpm.nodesource.com/pub_8.x/el/7/x86_64/nodesource-release-el7-1.noarch.rpm
      pc-yum.p.sphere.ad.jp (pc-yum.p.sphere.ad.jp) をDNSに問いあわせています... 10.254.89.10
      pc-yum.p.sphere.ad.jp (pc-yum.p.sphere.ad.jp)|10.254.89.10|:1080 に接続しています... 接続しました。
      Proxy による接続要求を送信しました、応答を待っています... 200 OK
      長さ: 8736 (8.5K) [application/x-redhat-package-manager]
      `nodesource-release-el7-1.noarch.rpm' に保存中
      
      100%[==============================================================================================================>] 8,736       --.-K/s 時間 0s
      
      2019-02-04 15:56:28 (209 MB/s) - `nodesource-release-el7-1.noarch.rpm' へ保存完了 [8736/8736]
      

       
      次にダウンロードしたrpmパッケージを手動でインストールします

      rpm -ivh nodesource-release-el7-1.noarch.rpm
      

      以下のように表示されればOKです。

      警告: nodesource-release-el7-1.noarch.rpm: ヘッダー V4 RSA/SHA256 Signature、鍵 ID 34fa74dd: NOKEY
      準備しています...              ################################# [100%]
      更新中 / インストール中...
         1:nodesource-release-el7-1         ################################# [100%]
      

       
      これでリポジトリのインストールが完了しました。

      node.jsとnpmのインストール

      次に本題のnode.jsをyumでインストールします。

      yum install nodejs
      

      以下のように表示されればOK です

      読み込んだプラグイン:fastestmirror, ps
      nodesource                                                                                                                       | 2.5 kB  00:00:00
      nodesource/x86_64/primary_db                                                                                                     |  44 kB  00:00:00
      Loading mirror speeds from cached hostfile
       * base: ftp-srv2.kddilabs.jp
       * epel: epel.mirror.angkasa.id
       * extras: ftp-srv2.kddilabs.jp
       * updates: ftp-srv2.kddilabs.jp
      依存性の解決をしています
      --> トランザクションの確認を実行しています。
      ---> パッケージ nodejs.x86_64 2:8.15.0-1nodesource を インストール
      --> 依存性解決を終了しました。
      
      依存性を解決しました
      
      ========================================================================================================================================================
       Package                        アーキテクチャー               バージョン                                      リポジトリー                        容量
      ========================================================================================================================================================
      インストール中:
       nodejs                         x86_64                         2:8.15.0-1nodesource                            nodesource                          16 M
      
      トランザクションの要約
      ========================================================================================================================================================
      インストール  1 パッケージ
      
      総ダウンロード容量: 16 M
      インストール容量: 49 M
      Is this ok [y/d/N]: y
      Downloading packages:
      警告: /var/cache/yum/x86_64/7/nodesource/packages/nodejs-8.15.0-1nodesource.x86_64.rpm: ヘッダー V4 RSA/SHA256 Signature、鍵 ID 34fa74dd: NOKEY0:00 ETA
      nodejs-8.15.0-1nodesource.x86_64.rpm の公開鍵がインストールされていません
      nodejs-8.15.0-1nodesource.x86_64.rpm                                                                                             |  16 MB  00:00:01
      file:///etc/pki/rpm-gpg/NODESOURCE-GPG-SIGNING-KEY-EL から鍵を取得中です。
      Importing GPG key 0x34FA74DD:
       Userid     : "NodeSource <gpg-rpm@nodesource.com>"
       Fingerprint: 2e55 207a 95d9 944b 0cc9 3261 5ddb e8d4 34fa 74dd
       Package    : nodesource-release-el7-1.noarch (installed)
       From       : /etc/pki/rpm-gpg/NODESOURCE-GPG-SIGNING-KEY-EL
      上記の処理を行います。よろしいでしょうか? [y/N]y
      Running transaction check
      Running transaction test
      Transaction test succeeded
      Running transaction
      警告: RPMDB は yum 以外で変更されました。
        インストール中          : 2:nodejs-8.15.0-1nodesource.x86_64                                                                                      1/1
        検証中                  : 2:nodejs-8.15.0-1nodesource.x86_64                                                                                      1/1
      
      インストール:
        nodejs.x86_64 2:8.15.0-1nodesource
      
      完了しました!
      

       

      確認

      これでnode.jsとnpm(nodeのパッケージ管理)がインストールできました。
      正しくインストールできたか確認するため以下コマンドを試してみます。

      # npm --version
      6.4.1
      
      # node --version
      v8.15.0
      

      それぞれバージョンが表示されればOKです。

       

      手順2 dreddのインストール

      ここからdreddのインストールを行います。

      dreddのインストール

      #--globalを付けるとなぜか失敗する、回避方法がわからないのでglobalにしない
      npm install dredd
      

      以下のように表示されれば成功です。

      npm WARN deprecated nomnom@1.5.2: Package no longer supported. Contact support@npmjs.com for more info.
      
      > jsonpath@1.0.0 postinstall /root/node_modules/jsonpath
      > node lib/aesprim.js > generated/aesprim-browser.js
      
      npm WARN saveError ENOENT: no such file or directory, open '/root/package.json'
      npm notice created a lockfile as package-lock.json. You should commit this file.
      npm WARN enoent ENOENT: no such file or directory, open '/root/package.json'
      npm WARN root No description
      npm WARN root No repository field.
      npm WARN root No README data
      npm WARN root No license field.
      
      + dredd@7.2.1
      added 250 packages from 249 contributors and audited 337 packages in 8.776s
      found 0 vulnerabilities
      

      これでインストール完了です。

      pathの設定

      ただこのままだとpathが通ってないので、bash_profileを編集し、pathを通します。

      vim ~/.bash_profile
      

      以下のように編集します。

      # .bash_profile
      
      # Get the aliases and functions
      if [ -f ~/.bashrc ]; then
              . ~/.bashrc
      fi
      
      # User specific environment and startup programs
      
      PATH=$PATH:$HOME/bin
      ### 追記ここから ###
      PATH=$PATH:$HOME/node_modules/dredd/bin # ←ここを追記
      ### 追記ここまで ###
      
      export PATH
      

      編集が完了したら読み込みます。

      source ~/.bash_profile
      

       

      確認

      最終的に以下のようにコマンドが実行できればOKです。

      dredd --version
      

      結果

      dredd v7.2.1 (Linux 3.10.0-693.17.1.el7.x86_64; x64)
      

      以上となります。
      最近のlinux環境ではインストールに手間取る経験というのは少なくなった気がするのですが、なぜかnodeは失敗することが多い気がします。。


      スポンサーリンク




      コメント一覧


      コメントを投稿する


      お名前


      コメント内容





      TOP back