Raspberry PiでIoTなシステム開発:nodeのインストールが楽になった

Posted on Posted in 趣味的なIT・ネットの話題

Raspberry PiでIoTなシステム開発: Raspberry Pi にバイナリでNode.jsをインストール

しばらく前に公式サイトからnodeのARM用バイナリが提供されなくなり、ネットでバイナリを探してインスト−ルをしていました。が、遂に公式でのARM用バイナリの配布が再開されたようです。それもv6/v7/v8も、4系も5系もとう大盤振る舞い。

Download | Node.js

せっかくなのでこれを使ってインストールできるか試してみることにします。公式でのディレクションはcurlで直接nodeをインストールしていますが、まだ4系、5系のどちらを使うか決めていないので、nvmを使ってインストールして、後からバージョンを切り替えられるようにします。Jessieだとcurlはあえてインストールしなくても最初から使えました。

パスが反映されていないようで、そのままだと実行できません。sourceすればいいと思いますが、ここはログインしなおしました。

バージョンもヘルプも表示されます。さっそくnvmを使ってnodeをインストールします。「5系の最新」という指定の方法が分かりませんでしたのでバージョン番号を指定しました。ヘルプからするとv5と指定するだけでよかったんでしょうか。

コンソールから実行してみます。

ちゃんとJavascriptを解釈してくれたようです。

インストールパスを知りたかったのですが、nvmのコマンドでは分からないようでした。findして実体を探してみると、piでインストールしているのでpiのホームに入るのですね。当たり前か。

よし、次はnpmのインストールだ!と意気込んだのですが、既にインストール済みでした。nodeと一緒にはいるのですね。osxでインストーラーを実行した時みたい。

あまりにもすんなり行きすぎて何か寂しい感じがします。もっと苦戦しないと記事にする意味がないなー。

(2016/03/05追記)

早速ですが困ったことが発生してくれました(??)ので、追記です。上記の方法でインストールすると、nvmが/home/piにインストールされて、nodeはその配下にインストールされます。が、これだとsudoで使用する事ができません。これができないとハードウェアアクセスが必要なモジュールを使ったり、ウェルノウンポートをリスンさせられなくなります。

スーパーユーザーの環境変数にpiへのパスを追加してもいいのだと思いますが、非特権ユーザーへのパスを通すのもなんだかおかしな感じです。そこでグローバルにnvmをインストールしてみることにしました。同じ事を考える人はいるもので、パッケージ化してくれています。

GitHub – xtuple/nvm: Easily setup NVM globally for rooted, multi-user, or CI environments

早速これを使ってインストール。sudoでnode呼べました。

(2016/03/05 更に問題発生で更に追記)

npmでインストールしたコマンド(ここではtypings)を実行しようとしたら、not foundになりました。ユーザー領域にインストールした場合には最初からパスが通っていたのですが、グローバルインストールだと自分で設定しないといけないようです。piのために設定する場合はこのとおり。

ただこれだとログアウトする度に消えてしまうので、/etc/profileに追記します。

途中の所のパスの設定部分でもいいと思いますが、追記したことがわかりやすいように末尾にしました。

root用はこちら。exportで追加する方法が分かりませんでした。visudoでnanoが起動するので追記します。

visudoではsecure_pathのところにパスを追記しています。

 

 

 

 

 


Facebooktwittergoogle_pluspinterestlinkedinmail
納得したらすぐにシェア!