33
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

posted at

updated at

Organization

Ubuntu14にnodebrewでサクッとnode.jsを入れたい

Vagrantで動かしてるUbuntu14.04にそろそろnode.jsを入れてやろうとnodeのバージョン管理ツールどれがいいかな~とか模索した結果nodebrewを選んだ。http://jxck.hatenablog.com/entry/20120224/1330035058 辺りとか。

導入

READMEに沿ってDL→インストールしていくわけだが。

$ wget git.io/nodebrew
$ perl nodebrew setup

別にcurl -L git.io/nodebrew | perl - setupでも構わないんだが503エラー吐かれててもわからなかった過去が()

.bashrcや.zshrc等に次を追加

export PATH=$HOME/.nodebrew/current/bin:$PATH

.bashrcをリロード

$ source ~/.bashrc

node.jsをインストール

とりあえずnodebrew install latestってしてやるとnode.jsの最新版をDLしてコンパイルし始める。

しかし、v8辺りでエラー起こすんですね…何度もループするからCtrl+Cでとりあえず止めてやる。

追記 最近のバージョンのnode(v4 LTSとか)だったら問題ないはずだしむしろ古いのだとダメだからな?というかインストールに時間かけるの無駄だし素直にinstall-binaryしような?

(以下古い話)

どうやらg++4.8が原因らしい。

g++4.7ならいけるらしいんでapt-getしてやる。

$ sudo apt-get install g++-4.7

g++のバージョンを渡してやってやり直す。

$ CXX=g++-4.7 nodebrew install latest

気長に待てば多分出来上がる。

セットしてやる

$ nodebrew use latest

チェック

$ node -v
v0.11.12

npmも試しておく

$ npm -v
1.4.3

LESSでもインストールしてみる

$ npm install -g less

...
/home/vagrant/.nodebrew/node/v0.11.12/bin/lessc -> /home/vagrant/.nodebrew/node/v0.11.12/lib/node_modules/less/bin/lessc
less@1.7.0 /home/vagrant/.nodebrew/node/v0.11.12/lib/node_modules/less
├── mime@1.2.11
├── mkdirp@0.3.5
├── clean-css@2.1.8 (commander@2.1.0)
├── source-map@0.1.33 (amdefine@0.1.0)
└── request@2.34.0 (json-stringify-safe@5.0.0, forever-agent@0.5.2, aws-sign2@0.5.0, qs@0.6.6, tunnel-agent@0.3.0, oauth-sign@0.3.0, node-uuid@1.4.1, tough-cookie@0.12.1, form-data@0.1.2, http-signature@0.10.0, hawk@1.0.0)

$ lessc -v
lessc 1.7.0 (LESS Compiler) [JavaScript]

お疲れ様です。

このときはすっかり忘れてたけどbinary-installならバイナリからインストールできる訳だしこの問題はとりあえず飛ばせる。でもnode-gypのコンパイルでg++47が必要なことがあるらしい。(コメント参照)
自分はしばらくDebian系でnode使ってないから確認してないけど。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
33
Help us understand the problem. What are the problem?