haiju's 開発メモ

開発に必要な情報を自分用にメモ

CentOS7.3でFunctional Frontend + React学習用にNode.jsをインストールしてみる

自分は長らくバックエンド周りの開発経験があって、フロントエンド

Webデザイナーの人にお任せでやってきて、フルスタックで触る

には敷居が高すぎるので、時間がある今の時間を利用してフロントエンド

実装の自習を始めた。

そして、AngularJS1.xとかVue.js 2.xとかちょっと触ってみた。

どうせやるならFunctional FrontendとReact周りも勉強する環境を整える

のはありかもしれないと思って、CentOS7.3.xにNode.jsをインストール

してみたメモ。

[手順]

1. yumでNode.jsインストールコマンドを叩く。

% sudo yum -y install nodejs

2. エラーが発生。

読み込んだプラグイン:fastestmirror, langpacks
Repodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fast
base | 3.6 kB 00:00:00
extras | 3.4 kB 00:00:00
google-chrome | 951 B 00:00:00
mariadb | 2.9 kB 00:00:01
remi-safe | 2.9 kB 00:00:00
updates | 3.4 kB 00:00:00
(1/4): extras/7/x86_64/primary_db | 145 kB 00:00:00
(2/4): mariadb/primary_db | 19 kB 00:00:00
(3/4): remi-safe/primary_db | 1.1 MB 00:00:16
updates/7/x86_64/primary_db FAILED 6% [=============================== ] 121 kB/s | 2.7 MB 00:00:26 ETA
http://ftp.tsukuba.wide.ad.jp/Linux/centos/7.4.1708/updates/x86_64/repodata/4d9aa91b709f8a3de78461b6a84cbab9bc7080249d562a03ed5f65447c625f5e-primary.sqlite.bz2: [Errno 14] curl#18 - "transfer closed with 3289927 bytes remaining to read"
他のミラーを試します。
(4/4): updates/7/x86_64/primary_db | 4.5 MB 00:00:34
google-chrome/primary | 1.9 kB 00:00:00
Loading mirror speeds from cached hostfile
* base: ftp.riken.jp
* extras: ftp.riken.jp
* remi-safe: mirror.bebout.net
* updates: ftp.riken.jp
google-chrome 3/3
パッケージ nodejs は利用できません。
エラー: 何もしません

3. http-parserパッケージをインストールすれば、成功するという知見を

 得たので、やってみる。

% sudo rpm -ivh https://kojipkgs.fedoraproject.org//packages/http-parser/2.7.1/3.el7/x86_64/http-parser-2.7.1-3.el7.x86_64.rpm
https://kojipkgs.fedoraproject.org//packages/http-parser/2.7.1/3.el7/x86_64/http-parser-2.7.1-3.el7.x86_64.rpm を取得中
準備しています... ################################# [100%]
更新中 / インストール中...
1:http-parser-2.7.1-3.el7 ################################# [100%]

4. 1を実行するも、やっぱりエラー。

% sudo yum -y install nodejs
読み込んだプラグイン:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: ftp.riken.jp
* extras: ftp.riken.jp
* remi-safe: mirror.bebout.net
* updates: ftp.riken.jp
パッケージ nodejs は利用できません。
エラー: 何もしません

5. Node.jsにはCentOS / Fedora / RHELベースのディストリビューション

 のスクリプトが用意されているという知見を得たので、やってみる。

% curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -

## Installing the NodeSource Node.js 8.x 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'

## Downloading release setup RPM...

+ mktemp
+ curl -sL -o '/tmp/tmp.0e1UqtGrA4' 'https://rpm.nodesource.com/pub_8.x/el/7/x86_64/nodesource-release-el7-1.noarch.rpm'

## Installing release setup RPM...

+ rpm -i --nosignature --force '/tmp/tmp.0e1UqtGrA4'

## Cleaning up...

+ rm -f '/tmp/tmp.0e1UqtGrA4'

## Checking for existing installations...

+ rpm -qa 'node|npm' | grep -v nodesource

## Run `yum install -y nodejs` (as root) to install Node.js 8.x and npm.
## You may also need development tools to build native addons:
## `yum install -y gcc-c++ make`

6. 1を再実行2回目でipa周りで警告が発生するも、インストールOK。

 % sudo yum -y install nodejs
読み込んだプラグイン:fastestmirror, langpacks
nodesource | 2.5 kB 00:00:00
nodesource/x86_64/primary_db | 29 kB 00:00:00
Loading mirror speeds from cached hostfile
* base: ftp.riken.jp
* extras: ftp.riken.jp
* remi-safe: mirror.bebout.net
* updates: ftp.riken.jp
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ nodejs.x86_64 2:8.9.3-1nodesource を インストール
--> 依存性解決を終了しました。

依存性を解決しました

=========================================================================================================================================================================================
Package アーキテクチャー バージョン リポジトリー 容量
=========================================================================================================================================================================================
インストール中:
nodejs x86_64 2:8.9.3-1nodesource nodesource 17 M

トランザクションの要約
=========================================================================================================================================================================================
インストール 1 パッケージ

総ダウンロード容量: 17 M
インストール容量: 51 M
Downloading packages:
警告: /var/cache/yum/x86_64/7/nodesource/packages/nodejs-8.9.3-1nodesource.x86_64.rpm: ヘッダー V4 RSA/SHA256 Signature、鍵 ID 34fa74dd: NOKEY=======- ] 2.1 MB/s | 16 MB 00:00:00 ETA
nodejs-8.9.3-1nodesource.x86_64.rpm の公開鍵がインストールされていません
nodejs-8.9.3-1nodesource.x86_64.rpm | 17 MB 00:00:06
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
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
警告: RPMDB は yum 以外で変更されました。
** Found 4 pre-existing rpmdb problem(s), 'yum check' output follows:
ipa-client-4.4.0-14.el7.centos.7.x86_64 は次のインストール済みと衝突しています: freeipa-client: ipa-client-4.4.0-14.el7.centos.7.x86_64
ipa-client-common-4.4.0-14.el7.centos.7.noarch は次のインストール済みと衝突しています: freeipa-client-common: ipa-client-common-4.4.0-14.el7.centos.7.noarch
ipa-common-4.4.0-14.el7.centos.7.noarch は次のインストール済みと衝突しています: freeipa-common: ipa-common-4.4.0-14.el7.centos.7.noarch
ipa-python-compat-4.4.0-14.el7.centos.7.noarch は次のインストール済みと衝突しています: freeipa-python-compat: ipa-python-compat-4.4.0-14.el7.centos.7.noarch
インストール中 : 2:nodejs-8.9.3-1nodesource.x86_64 1/1
検証中 : 2:nodejs-8.9.3-1nodesource.x86_64 1/1

インストール:
nodejs.x86_64 2:8.9.3-1nodesource

完了しました!

7.インストールバージョンを確認。

% node --version
v8.9.3

8. ついでにnpmのバージョンも確認しておく。

% npm -v
5.5.1

[参考サイト]

qiita.com

toshi.click

polidog.jp

Installing Node.js via package manager | Node.js