Electron( http://electron.atom.io/ )使ってみてえという気持ちが高まったのでCygwinにNode.jsをインストールしようとしたお話し。
結論:Cygwinはサポート外でいろいろ試しても超古いバージョンしか動かなかった。普通に公式からWindows用のバイナリをインスコしようぜ。
今回はWindows10にNode.js 5.0.0をインストールした。
Node.js公式( https://nodejs.org/en/ )
上の記事を見ながらNode.jsをインストールしようとしたんだけどnaveは入ってもNode.jsのlatestをビルドする段階でこける。よくよく調べてみるとCygwinはサポート外になったらしい。
Cygwin is no longer supported, despite being POSIX compliant. The latest version that compiles is 0.4.12.
引用元:https://github.com/nodejs/node-v0.x-archive/wiki/Installation#building-on-cygwin
最新バージョンは上で書いた5.0.0であるのに対してCygwinで動くのは0.4.12。もうちょっと調べるとパッチを当てて動かそうとしているものもあったけど(例えば https://www.robario.com/2015/10/08 )それでも4.1.2とかだったのであきらめた。
ということで公式からWindows用の5.0.0をインストールした。
動かないんやろうな~と思いながらCygwinで試しにコマンド叩いてみたら
$ node --help
Usage: node [options] [ -e script | script.js ] [arguments]
node debug script.js [arguments]
Options:
-v, --version print Node.js version
-e, --eval script evaluate script
-p, --print evaluate script and print result
-c, --check syntax check script without executing
-i, --interactive always enter the REPL even if stdin
does not appear to be a terminal
-r, --require module to preload (option can be repeated)
--no-deprecation silence deprecation warnings
--throw-deprecation throw an exception anytime a deprecated function is used
--trace-deprecation show stack traces on deprecations
--trace-sync-io show stack trace when use of sync IO
is detected after the first tick
--track-heap-objects track heap object allocations for heap snapshots
--v8-options print v8 command line options
--tls-cipher-list=val use an alternative default TLS cipher list
--icu-data-dir=dir set ICU data load path to dir
(overrides NODE_ICU_DATA)
Environment variables:
NODE_PATH ';'-separated list of directories
prefixed to the module search path.
NODE_DISABLE_COLORS set to 1 to disable colors in the REPL
NODE_ICU_DATA data path for ICU (Intl object) data
NODE_REPL_HISTORY path to the persistent REPL history file
Documentation can be found at https://nodejs.org/
$ npm
Usage: npm <command>
where <command> is one of:
access, add-user, adduser, apihelp, author, bin, bugs, c,
cache, completion, config, ddp, dedupe, deprecate, dist-tag,
dist-tags, docs, edit, explore, faq, find, find-dupes, get,
help, help-search, home, i, info, init, install, issues, la,
link, list, ll, ln, login, logout, ls, outdated, owner,
pack, ping, prefix, prune, publish, r, rb, rebuild, remove,
repo, restart, rm, root, run-script, s, se, search, set,
show, shrinkwrap, star, stars, start, stop, t, tag, team,
test, tst, un, uninstall, unlink, unpublish, unstar, up,
update, upgrade, v, verison, version, view, whoami
npm <cmd> -h quick help on <cmd>
npm -l display full usage info
npm faq commonly asked questions
npm help <term> search for help on <term>
npm help npm involved overview
Specify configs in the ini-formatted file:
C:\Users\ryufran\.npmrc
or on the command line via: npm <command> --key value
Config info can be viewed via: npm help config
npm@3.3.6 C:\Program Files\nodejs\node_modules\npm
$ node -e "console.log('hello node')"
hello node
普通に動きました。パスも勝手に通っているしインストーラ―でnpmも勝手に入ってくれているようで楽ちん。(一応Cygwinの端末閉じてからインストールした。)
何で普通に動いているのかはよくわからない。改行コードとかパスとかも今のところ大丈夫。(なんで?)
おわり。