見出し画像

ChromebookにBoostnoteのビルド環境を用意する方法

こんにちは、junkawaです。

1. ビルド環境を用意する

Node.js のインストール
node: 8.x が必要。今回は8.14.0を使用。
複数バージョンのnodeが必要になる場合を考慮して、nodebrewを使用する。ここを参考にインストール。

$ curl -L git.io/nodebrew | perl - setup
export PATH=$HOME/.nodebrew/current/bin:$PATH を ~/.profileに追加
$ nodebrew install v8.14.0
$ nodebrew use v8.14.0

Yarn のインストール
ここを参考にインストール。

$ curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
$ echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
$ sudo apt-get update && sudo apt-get install yarn

2. BoostnoteのリポジトリをForkする

3. リポジトリをローカルにCloneする

$ git clone <githubリポジトリURL>

4. ビルドする

依存パッケージのインストール
Boostnoteのトップディレクトリにて下記を実行し、依存パッケージをインストールする。

~/github/Boostnote$ yarn
yarn install v1.12.3
[1/4] Resolving packages...
[2/4] Fetching packages...
info fsevents@1.2.4: The platform "linux" is incompatible with this module.
info "fsevents@1.2.4" is an optional dependency and failed compatibility check. Excluding it from installation.
[3/4] Linking dependencies...
warning " > @enyaxu/markdown-it-anchor@5.0.2" has incorrect peer dependency "markdown-it@^8.4.1".
warning " > eslint-config-standard@6.2.1" has unmet peer dependency "eslint-plugin-promise@>=3.3.0".
[4/4] Building fresh packages...
Done in 132.63s.

スクリプトの修正
elecronの不具合(?)のためか、electron の標準出力を/dev/nullにしないと画面が表示されないため、スクリプト(dev-scripts/dev.js)を修正する。
stdio: 'inherit' → stdio: 'ignore'

~/github/Boostnote$ git diff
diff --git a/dev-scripts/dev.js b/dev-scripts/dev.js
index 9698a2fe..5bef442c 100644
--- a/dev-scripts/dev.js
+++ b/dev-scripts/dev.js
@@ -49,7 +49,7 @@ function startServer () {
 }
 
 function startElectron () {
-  spawn(electron, ['--hot', './index.js'], { stdio: 'inherit' })
+    spawn(electron, ['--hot', './index.js'], { stdio: 'ignore' })
     .on('close', () => {
       server.close()
     })

実行

$ yarn run dev

5. デバッグ

Ctrl+Shift+I で、Developer Tools が起動します。

ご覧下さりありがとうございます。いただいたサポートは図書館への交通費などに使わせていただきます。