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

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

Posted: 2019-02-04


スポンサーリンク

目次

はじめに

以前 別の記事: 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