Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
WSLでreactの開発環境作った話
Search
S-cubism
September 26, 2018
Technology
0
630
WSLでreactの開発環境作った話
S-cubism
September 26, 2018
Tweet
Share
More Decks by S-cubism
See All by S-cubism
未経験者がAndroidアプリをリリースするまで
scubism
0
99
scubism_LT_20180223_細田謙二_イベントソーシング
scubism
0
140
REVEAL.JSをちょっとだけ使ってみた
scubism
0
250
忙しい人のための仮想通貨
scubism
0
83
サーバ作業の注意コマンド
scubism
0
110
最近勉強してること、次にやりたいこと
scubism
0
94
FOOD TECH
scubism
0
64
Firebase(Realtime Database)について
scubism
0
110
複数会社複数リポジトリでのソース管理
scubism
0
97
Other Decks in Technology
See All in Technology
組み込みLinuxの時系列
puhitaku
4
1k
いざ、BSC討伐の旅
nikinusu
2
620
ライブラリでしかお目にかかれない珍しい実装
mikanichinose
2
330
OCI Data Integration技術情報 / ocidi_technical_jp
oracle4engineer
PRO
1
2.6k
データ活用促進のためのデータ分析基盤の進化
takumakouno
2
460
製造現場のデジタル化における課題とPLC Data to Cloudによる新しいアプローチ
hamadakoji
0
210
マルチモーダルデータ基盤の課題と観点
neonankiti
1
110
これまでの計測・開発・デプロイ方法全部見せます! / Findy ISUCON 2024-11-14
tohutohu
3
260
信頼性に挑む中で拡張できる・得られる1人のスキルセットとは?
ken5scal
1
410
ISUCONに強くなるかもしれない日々の過ごしかた/Findy ISUCON 2024-11-14
fujiwara3
7
580
私はこうやってマインドマップでテストすることを出す!
mineo_matsuya
0
220
AWS Lambdaと歩んだ“サーバーレス”と今後 #lambda_10years
yoshidashingo
1
110
Featured
See All Featured
It's Worth the Effort
3n
183
27k
For a Future-Friendly Web
brad_frost
175
9.4k
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.5k
Producing Creativity
orderedlist
PRO
341
39k
GraphQLとの向き合い方2022年版
quramy
43
13k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
43
6.8k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
42
9.2k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
700
Agile that works and the tools we love
rasmusluckow
327
21k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Visualization
eitanlees
145
15k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
Transcript
WSLで reactの開発環境作った話 テクノロジーアーキテクト本部 松島一樹
Windowsでのreact開発環境について
React開発方法 • 仮想マシンを立てる(virtualbox) • Vagrant+ansibleで簡単に作成できる • シンボリックリンクがあるため共有フォルダが使えない (ホストのエディタから編集できない) • NodeをWindowsに入れる
• 無難そう • Windows Subsystem for Linuxを使う
WSLを使った理由 • Linuxのほうが使い慣れていた • Nodeのバージョン管理ツール(nvm)が使える • Windowsと相互運用しやすそう
Windows Subsystem for Linux ざっくり入門
WSLとは • Windows Subsystem for Linux(通称WSL) • Linux ELF64バイナリの実行環境
仕組み ユーザモード カーネルモード Linux syscall 変換を行う NT syscall [1]画像出典 WSL
System Calls (https://blogs.msdn.microsoft.com/wsl/2016/06/08/wsl-system-calls/)
WSL機能概要 • バックグラウンドプロセスの実行(一部) • 仮想的なLinuxのファイルシステム • ネットワーク通信 • シリアル通信のサポート
ファイルシステム • VolFs • VFSのほとんどの機能をサポート • “/”以下が格納 • Windowsのアプリケーションから触れない(ほうがいい) •
DrvFS • Windowsのファイルと相互運用 • Linuxのアクセス権限は利用できない ver1803からできるようになった • I/Oが遅いといわれている[1] [1] Microsoft、WSLのI/Oパフォーマンス改善に取り組み https://news.mynavi.jp/article/20180815-676572/
対応するディストリビューション など
つかいかた
bash起動方法 • アプリストアのアイコンをクリックする • “ファイル名を指定して実行”で”wsl”
特定のコマンドを実行する • コマンドプロンプトで • Powershellで • Explorerで コマンド 引数
React開発環境
環境構成 React project /mnt/c/Users/user/project/ C:¥Users¥user¥project Visual Studio code 編集 WSL
Ubuntu 18.04 Node 8.11.4 実行 node起動 Debugスクリプトでwslのフラグを立 てるとwslでnodeを起動してくれる ブラウザ localhost:3000 • nodeの実行はwsl上で • プロジェクトのファイルはDrvfsに置く
よかった点 • Linuxでの構築方法を流用できる • エディタ(vscode)から制御できる • ネットワークの設定が不要
悪かった点 • 仮想マシンと比べてビルドが遅い 参考: WSL vs VM for 開発作業(https://qiita.com/satoru_takeuchi/items/a54812806bba0eb48f02) •
コマンドを誤るとwindowsの動作にも影響が出てしまう • 通称fork爆弾.windowsがフリーズする • userのフォルダも削除される? 参考:Windows 10 WSLで『rm -rf /』を実行(https://news.mynavi.jp/article/dont_run_on_linux-3/) $ :(){ :|:& };: $ sudo rm –rf / --no-preserve-root
まとめ Linuxのバイナリを実行できる 動作は遅い 動作確認にはよさそう