Category Archives: node

Ubuntuに最新のnodeをインストール

ubuntu16.04のaptでインストールするnodeは古くてvue cliを使えなかったので最新にしたい。

しかしすでに32ビットはnode 8までしかないようだ。
ここを参考にインストール

これは8をインストールする場合。64ビットUbuntuの場合は最新をインストールできる。

インストール後

$ node –version
v8.16.0
$ npm –version
6.4.1
$ vue –version
3.9.1
$

npm runのnode実行でonelineのjavascriptに引数を渡して実行する

nodeでjavascriptを実行する場合、通常はnodeにファイルを渡してスクリプトを実行するが短いスクリプトの場合はコマンドラインにスクリプトを書くことができる。ちょっとしたスクリプトを書きたい場合はこうすることですべての情報がコマンドラインにしか存在しないのでよりポータブルになる。しかしコマンドラインの制約から文字列を囲むクォートやダブルクォートが書きにくいので、その点は注意する必要がある。Windowsではシングルクォートは通常の文字のように扱われるので、スクリプト全体をダブルクォートで囲い、スクリプト内部での文字列はシングルクォートで囲むようにする。

次にスクリプトに引数を渡したいときはnodeに渡す引数と区別するために、通常は最後に–(2つのハイフン)をつけて、それ以降の引数はスクリプトに渡されるものであることを指示する。

上記のことを組み合わせて、スクリプト内で引数を受け取り、コマンドラインでスクリプトとそれに渡す引数を渡すことができる。これを応用してnpm runに記述しておけば、ちょっとしたコマンドをpackage.jsonに登録することができる。jsonでダブルクォートを扱うときはバックスラッシュでエスケープすればいいので矛盾は生じない。

nodeでのスクリプトへの引数の渡し方

-eでスクリプトをそのまま指定。
–のあとのコマンドライン引数はスクリプトに渡される。

スクリプト内では引数はprocess.argvで受け取る。

npm runに引数を渡す

npm runはそのまま実行するだけのようなので以下のように書く。ダブルクォートはバックスラッシュでエスケープする。

npm runを実行

npm installの “–save”は何をするのか?

結論

何もしない

経緯

npm 5まではnpm installがpackage.jsonに依存を記述する機能がなかったので手動で記述していた。
npm 5で–saveが追加され、package.jsonファイルが存在すれば自動で追加するようになった。
現状のバージョンでは–saveがなくてもpackage.jsonに依存関係が記述されるがどのバージョンからこの仕様になったのかは不明だが、ある時点でデフォルトになったものと推定される。
そのかわり–no-saveオプションが追加されたものと思われる。

https://stackoverflow.com/questions/19578796/what-is-the-save-option-for-npm-install/50697509