はじめに
多分間違えてるColaboratoryの使い方シリーズ第3弾
今回はnodejsの最新版を利用してみたいと思います。
過去の記事
Colaboratoryでnodeを利用しようとすると、LTSの8系がインストールされています。
入力セル
!node --version
出力セル
v8.11.3
現在、10系が最新版で、次のLTS予定で機能的にもいろいろ追加されているのでどうせなら10系を使いたいなと思いました。
結論
以下を実行すれば特定バージョンのnodeを利用することができます。
設定
入力セル
!npm i -g n
!n v10.12.0
!node --version
出力セル
/tools/node/bin/n -> /tools/node/lib/node_modules/n/bin/n
+ n@2.1.12
added 1 package from 4 contributors in 0.799s
install : node-v10.12.0
mkdir : /usr/local/n/versions/node/10.12.0
fetch : https://nodejs.org/dist/v10.12.0/node-v10.12.0-linux-x64.tar.gz
######################################################################## 100.0%
installed : v10.12.0
v10.12.0
実行
ファイル作成
入力セル
%%writefile test.js
const fs = require('fs').promises;
(async () => {
const texts = await fs.readFile('./test.js', 'utf8');
console.log(texts);
})();
出力セル
Writing test.js
実行
入力セル
!node test.js
出力セル
(node:396) ExperimentalWarning: The fs.promises API is experimental
const fs = require('fs').promises;
(async () => {
const texts = await fs.readFile('./test.js', 'utf8');
console.log(texts);
})();
fs.promisesはまだexperimentalなのでワーニングがでます。
気になる人は--no-warnings を付けて実行しましょう。
経緯
開発時にnodeのバージョンを管理する場合は通常nvmを利用するかと思います。
なので、Colaboratoryでもnvmを利用しようとしたのですが、残念なことにnvmをインストールはできるのですが、~/.bashrcが読み込まれず設定ができませんでした。
かといって、公式サイトからダウンロードしてインストールするのもなかなか使いにくかったりするため、パッケージのnを利用することにたどり着きました。
まとめ
Colaboratoryなんでもできます!