ハンズオン はじめてのNode-RED:その1)UbuntuにNode-REDをインストールする

 

近頃、少しずつ住まいエリアで開催されるIT系勉強会に出席し始めました、CHAKOです。

9月にBluemix勉強会に初めて参加してきました。
その中では、「はじめてのNode-RED」(Amazon)という本が紹介されていたので、
・Raspberry piとの相性が良いらしい
・新しいツールらしい
・何よりもGUIの見た目が綺麗らしい
と言う、なんとも「らしい」尽くしの状態だったため、実体験するにはちょうど良いレベルのテキストだと直感でビビッときたので、直近は、この本を題材にして、ハンズオンをしながらITスキルアップを図ります。

インストールして作業を行なう時には、前のディレクトリ構成を意識して作業します。

▽日本語版Node.jsダウンロードサイト
https://nodejs.org/ja/

■ダウンロードするファイル
https://nodejs.org/dist/v6.11.4/node-v6.11.4-linux-x64.tar.xz

ダウンロードサイトより、推奨版ファイルを取得する。

ダウンロード完了したら、解凍&実行する。

▽Node.js インストール (Linux)
https://qiita.com/suzuki-sapporo/items/1748dcaacfe244010980

▽Linux で tar.xz 形式のファイルを解凍する
https://qiita.com/ymaru/items/87fbc4e68f5995d3964c

→「tar.xz」ファイルに関して、tarコマンドでファイルを解凍するときは、特別なオプションなしで実行できるとわかりました。

ファイルを/tmpディレクトリ内に解凍します。

tar xvf node-v6.11.4-linux-x64.tar.xz -C /tmp

権限を変更してから、/usr/local/modulesにディレクトリごと移動します。

sudo chown -R root:root /tmp/node-v6.11.4-linux-x64
sudo mv /tmp/node-v6.11.4-linux-x64 /usr/local/modules/

端末から実行しやすくするためにシンボリックリンクやPATHを作成しておきます。

cd /usr/local
sudo ln -s /usr/local/modules/node-v6.11.4-linux-x64/ node

~/.bash_profileファイルを新規作成して、以下の通り記述しました。

#(1)PATHを通すための環境変数の設定。
export NODE_HOME=/usr/local/node
#(2)プログラムで使用する(importとかrequireなど)するためのPATHの設定。
export NODE_PATH=$NODE_HOME/lib/node_modules
#(3)ターミナルでコマンド実行するためPATHの設定。
#実際には、「local/node-v6.11.4-linux-x64/bin」の下の「node」も
#「npm」の両者に対してのPATHを通すことになる。
export PATH=$NODE_HOME/bin:$PATH

▽sudo「コマンドが見つかりません」PATHが初期化されているときの対処法

→対処法1だけでは上手くいかず、どうにもsudoで操作ができない。
secure_pathの内容で上書きされているようだったので、secure_pathの箇所も排除しました。

■変更前

Defaults env_reset
Defaults env_resetDefaults mail_badpass
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"

■変更後
1.環境変数をリセットする部分
2.パスを指定する部分
をそれぞれコメントアウト(#)する。

#Defaults env_reset
Defaults mail_badpass
#Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"

これでnpmを使える状態が整ったのでNode-REDのインストールを行う。

sudo npm install -g --unsafe-perm node-red

グローバルな領域にインストールすることを選んでいるので、インストール先は以下の通りnodeの下のbinに導入される形になる。
参考までに、シンボリックリンク側と実体側の両方のディレクトリ内容をメモしておく。

無事に起動確認できたので、ブラウザを起動して、所定のURLよりNode-REDの画面を表示します。

表示できたー

ようやくスタートラインに立てた〜

 

CHAKO

Ubuntuでインストール作業をするときのディレクトリ構成

こんばんは、連休最終日の夜に現実逃避をして、連休明け初日に寝不足だったCHAKOです。

MacBookを使い始めて5日目になりました。
ビジュアル面に常に感動しながら毎日マシンに触れていますが、
Macの中で、
Virtual Box内でUbuntu動かしながら、
Atom使いたいなー。
Node-Red使いたいから、Node.js入れたいなー。
Python使いたいなー。
ということで、マシンの環境整備を続けております。

各種インストール作業を通して、致命的なCHAKO弱点が明らかになってきました。

ググって見つけた各種インストール作業を参考にして作業してみたけど、
それぞれのサイトで様々なインストール先ディレクトリが指定されているが、単に作業しているだけで、意図を理解していない…
指定されているディレクトリに束縛されるしかないと思っていた…

「/opt」 と 「/usr/local」 と 「/usr/local/bin」
の利用用途を理解していない…

つまり、Linuxの超超超絶基礎のディレクトリ構造を、今の今までキチンと理解せずにこれまで作業を流して過ごしてきてしまった、という事実を目の当たりにしたのです。
なんて、時間のもったいないことをしていたのでしょう。

…ということで、急いでLinuxのディレクトリ構造を復習しました。

▼Linux基礎知識 ディレクトリ構造の確認時に参照した情報
▽新しいLinuxの教科書
Amzon

▽Linuxのディレクトリ構造(一覧)を理解する Linux入門
https://www.linuxmaster.jp/linux_skill/2010/02/06linux.html

「今回は、Linuxのディレクトリ一覧を紹介します。
Linuxは多数のファイルとディレクトリから構成されているシステムになり、
そのディレクトリ構造を押さえることは、Linuxシステムをイメージとして捉える上で非常に重要になります。」

→確かに!今までちゃんとイメージ持ててなかったことを反省。イメージを持とう(^^)/

一般論を参考にして、CHAKOマシンの中では、これからアプリケーションやモジュール等のインストール先は、どのようなルールに基づいて進めるか?を以下の通り整理しました。

〜CHAKOマシンの中のディレクトリ使用ルール〜

/opt
メーカー製品版系で入れるパッケージで/optに導入するものもあ流とか。
製品によって、デフォルトで「/opt」をしていしているものもあるし、変えることも可能なこともある。
実行時に書き換えられないアプリケーションソフトウェアパッケージを置く場所のイメージ?

/usr/local
ローカルシステムで必要とされるコマンドやライブラリ、ドキュメントなどが配置される。ホスト固有のローカルデータを格納する第三階層。このディレクトリ内は、さらにbin、sbin、libなどに細分化される。
OpenSourceなどソースからコンパイルする系のイメージ。

/usr/local/modules ★自分でmodulesディレクトリを新規作成する
自分で手動で導入する場合(=パッケージ導入しない場合)について、ダウンロードしてきたアプリやモジュールを展開したものを配置するディレクトリとする。

今後の作業は、上記ルールにできるだけ則って進めていくようにします。

ちなみに、「新しいLinuxの教科書」を「新しいMacの教科書」に読み替えて見る記事を見つけたので、時間を見つけて進めてみたい。

▽「新しいLinuxの教科書」をMacで実践する
https://qiita.com/kanaya/items/15ef1ba8af83a6b5c2c9

 

CHAKO