nvm install 16.20.2 && nvm use 16.20.2
npm install --legacy-peer-deps
npm start npm start -- --port 8081
http://localhost:8081/?auth_debug
npm run build
After cloning the repository, run:
npm i
このプロジェクトの依存関係(特に node-sass@4)は古いツールチェーンを前提としているため、以下の環境でセットアップしてください。
- Node.js 16 系
nvm install 16.20.2 && nvm use 16.20.2のようにして LTS v16 を選択します。 - Python 2.7.18(pyenv)
これにより
pyenv install 2.7.18 cd /Users/yuichiyazaki/Library/CloudStorage/Dropbox/Projects_講義/c_DataVizLectures/_app/tilegrams pyenv local 2.7.18.python-versionが作成され、このディレクトリ内では Python 2 が自動的に有効になります。 .npmrcでpython=/Users/yuichiyazaki/.pyenv/shims/pythonを指すようにしています。ご自身の環境に合わせて絶対パスを書き換えるか、npm config set python "$(pyenv which python)"でユーザー設定を上書きしてください。こうすることで pyenv 管理下の Python 2.7 がnode-gyp(=node-sassのビルド)に使われます。
Run
npm start
http://localhost:8080/ http://localhost:8080/?auth_debug
本プロジェクトでは、ローカルでビルドしたファイル(dist/)を Git にコミットして GitHub に push することで、Netlify が自動的にデプロイします。
-
ソースコードを修正したら、通常通りコミットします:
git add index.js source/Ui.js # など、変更ファイルを add git commit -m "変更内容"
-
ローカルでビルドします:
npm run build
生成物は
dist/に書き出されます。 -
ビルド出力を add してコミットします:
git add -f dist/ # .gitignore に dist が記載されているため -f フラグが必要 git commit -m "ビルド出力を更新"
-
GitHub に push します:
git push origin master
-
push されると、Netlify が自動的に検知してビルド&デプロイします。
補足: 古い Node.js バージョン(16系)や Python 2.7 の依存関係がある関係上、CI/CD による自動ビルドではなく、ローカルでビルドしたファイルを直接コミットする運用になっています。Netlify はこのコミットを検知して本番環境にデプロイします。
-
ポート 8080 が既に使用されている (
EADDRINUSE)
開発サーバーが起動できない場合は、占有しているプロセスを調べて終了します。lsof -i tcp:8080 kill <PID> # 不要なプロセスを終了
-
node-sassの再ビルドが必要な場合
Node バージョンを切り替えた後などでnode-sassが壊れた場合は、プロジェクトルートで以下を実行してください。nvm use 16.20.2 npm rebuild node-sass
/Users/yuichiyazaki/Documents/GitHubRepository/_app_fork/tilegrams/source/resources/GeographyResource.js
./maps/japan/japan.topo.json
フォルダを作成 ./data/japan/japan-names.json