JavaScript開発をWindowsでBashに移行する
公開: 2022-03-10私はBashターミナルなしでは生きていけない人の一人です。 この唯一の事実により、私はWindowsでフロントエンドの作業を行うことが困難になりました。 私はマイクロソフトで働いており、Macを使用しています。 数年前に新しいSurfaceハードウェアラインが登場するまで、私は気づきませんでした。私はそれらの1つを持っている必要があります。
だから私はそれを手に入れました。 正確には、Windows10を実行しているSurfaceBook2。 現在、この記事の草稿を作成しています。 そして、私の甘い、甘いバッシュプロンプトはどうですか? もちろん、持ってきました。
この記事では、Windows10の新しいテクノロジによってWindowsで完全なLinuxターミナルを実行する方法について詳しく見ていきます。 また、私のすばらしい端末のセットアップ(「私」によって「史上最高」と名付けられた)と、独自のWindows / Linux開発マシンをセットアップする方法についても説明します。
そのSurfaceハードウェアの一部を切望しているが、Linuxターミナルなしでは生きていけない場合は、適切な場所に来ています。
注:この記事の執筆時点では、この記事の多くの項目で、Windowsを含むさまざまな項目の「プレビュー」または「インサイダー」ビルドを使用または切り替える必要があります。 これらのほとんどは、将来のある時点でメインのWindowsビルドに含まれる予定です。
Linux用Windowsサブシステム(WSL)
Linux用のWindowsサブシステム、または「WSL」は、Windows上でLinuxを実行できるようにするものです。 しかし、この狂った科学とは正確には何ですか?
WSLは、現在の形で、LinuxシステムコールをWindowsシステムコールに変換する変換レイヤーです。 LinuxはWSL上で実行されます。 つまり、Linux on Windowsを入手するには、次の3つのことを行う必要があります。
- WSLを有効にし、
- Linuxをインストールし、
- リストには常に3つのアイテムを含めてください。
結局のところ、その変換レイヤーは少し遅いです— splice
またはslice
が必要かどうかを思い出そうとしているようなものです。 これは、WSLがファイルシステムの読み取りと書き込みを行う場合に特に当てはまります。 npm install
と、何千ものファイルがマシンにコピーされるため、これはWeb開発者にとっては大きな問題です。 つまり、私はあなたのことを知りませんが、私は自分の弦を左パッドするつもりはありません。
WSLのバージョン2は別の話です。 変換レイヤーを使用する代わりにWindowsの仮想化コアを利用するため、現在のバージョンよりもかなり高速です。 私がそれが「かなり速い」と言うとき、私は方法、はるかに速いことを意味します。 私と同じくらい速く「スプライスvsスライス」をグーグルで検索します。
そのため、WSL 2のインストール方法を説明します。これを書いている時点では、Windowsの「Insider」ビルドを使用している必要があります。
まず最初に:この短いガイドに従って、Windows 10でWSLを有効にし、Windowsのバージョン番号を確認してください。
インストールしたら、Windowsキーを押して「windowsinsider」と入力します。 次に、「WindowsInsiderプログラム設定」を選択します。
どの「リング」を使用するかについては、いくつかの異なるオプションがあります。 私が知っている多くの人々が速いリングにいます。 でも、私は用心深い人です。 子供の頃、お腹の遊び場のすべり台を横に持って降りていました。 だから私はスローリングにとどまります。 私はこれを数か月使用していますが、通常のWindowsほど破壊的または不安定ではないことがわかりました。
WSL 2が必要であるが、スライドで死にたくない場合は、これは良いオプションです。
注:この記事を公開した後、私はWSL2が実際にはスローリング上にないことを知りました。 あなたはそれを手に入れるために速いリングにいる必要があるでしょう。 私はこの記事を書く過程のある時点で速いリングにいたに違いありません。 とても速いリングです。 スライドで頑張ってください!
次に、WSLバージョン2で必要なWindowsの「仮想マシンプラットフォーム」機能を有効にする必要があります。この画面を表示するには、Windowsキーを押して「Windows機能」と入力します。 次に、「Windowsの機能をオンまたはオフにする」を選択します。 「仮想マシンプラットフォーム」を選択します。 「WindowsSubsystemforLinux」オプションはすでに有効になっているはずです。
WSLが有効になったので、Linuxをインストールできます。 皮肉なことに、これはWindowsストアから直接行います。 2019年にのみ、「WindowsストアからLinuxをインストールする」ことをお勧めします。
選択できるディストリビューションはいくつかありますが、Ubuntuは、VS Codeを含め、後で構成するすべてのツールで最もサポートされる予定です。 これ以降のすべての手順は、Ubuntuのインストールを前提としています。 別のディストロをインストールすると、すべての賭けが無効になります。
Windowsストアから「Ubuntu」を検索します。 Ubuntu、Ubuntu 18.04、Ubuntu16.04の3つから選択できます。 Ubuntuはその04マイナーバージョン番号が本当に好きですよね?
「Ubuntu」ディストリビューション(このスクリーンショットの最初のディストリビューション)は「メタバージョン」であり、最新バージョンを指すプレースホルダーです。 今のところ、それは18.04です。
後でWindowsエクスプローラーでLinuxファイルシステムを参照する方法を紹介するので、メタバージョンを使用しました。ドライブ名として「Ubuntu18.04」を使用するのは「Ubuntu」だけではなく、やや面倒です。
このインストールは、インターネット接続によってはかなり迅速です。 たったの215メガバイトですが、私はここでギガビット接続を使用しています。誰かがギガビット接続を使用しているかどうかをどうやって知ることができますか? 心配しないでください、彼らはあなたに言うでしょう。
インストールすると、スタートメニューに「Ubuntu」アプリが表示されます。
それをクリックすると、Bashターミナルが表示されます。
テクノロジーの奇跡を満喫してください。
デフォルトでは、WSLバージョン1で実行されます。バージョン2にアップグレードするには、PowerShellターミナルを開いてコマンドを実行する必要があります。
「Windows」キーを押して「Powershell」と入力します。
PowerShellターミナルから、 wsl --list --verbose
を実行することにより、使用しているWSLのバージョンを確認できます。
バージョン1を表示している場合は、 --set-version
コマンドを実行し、インスタンスの名前(Ubuntu)と必要なバージョン(2)を指定する必要があります。
wsl --set-version Ubuntu 2
マシンの肉の量にもよりますが、これには少し時間がかかります。 鉱山は「数分」のギブまたはテイクを取りました。 完了すると、WSLの最新かつ最高のバージョンが表示されます。
Linuxではあなたの頭脳です…Windowsでは。
LinuxはWindowsではありません。 WSLは、Windowsオペレーティングシステム上でのbashプロンプトではありません。 これは、独自のフォルダ構造とインストールされたアプリケーションを備えた完全なオペレーティングシステムです。 Windowsインストーラーを使用してNodeをインストールする場合、NodeがLinuxにインストールされていないため、Linuxでのnode
の入力は失敗します。 Windowsにインストールされています。
ただし、WSLの真の魔法は、WindowsとLinuxをシームレスに接続して、マシン上で1つのファイルシステムとして表示されるようにする方法にあります。
ファイルとフォルダのナビゲーション
デフォルトでは、UbuntuターミナルはLinuxホームディレクトリ(または/home/your-user-name
)にユーザーをドロップします。 /mnt/c
に移動すると、Windows側に移動できます。
ここで一部の権限が拒否されていることに注意してください。 これらのファイルにアクセスするには、Ubuntuアイコンを右クリックし、[管理者として実行]をクリックする必要があります。 これは、Windowsが昇格されたアクセス許可を行う方法です。 Windowsにはsudoはありません。
アプリケーションの起動
Ubuntuターミナルから任意のWindowsアプリケーションを起動できます。 たとえば、UnbuntuターミナルからWindowsエクスプローラーを開くことができます。
これも逆に機能します。 Linux側にインストールされている任意のアプリケーションを実行できます。 ここでは、WindowsコマンドラインからLinuxにインストールされている「fortune」を実行しています。 (これは、ランダムで無意味な運命がなければ、適切なLinuxインストールではないためです。)
2つの異なるオペレーティングシステム。 2つの異なるファイルシステム。 インストールされたアプリケーションの2つの異なるセット。 これがどのように混乱する可能性があるかを見てください。
すべてをまっすぐに保つために、すべてのJavaScript開発ファイルとツールをLinux側にインストールしておくことをお勧めします。 とは言うものの、WindowsとLinuxの間を移動し、両方のシステムからファイルにアクセスする機能は、WSLの核となる魔法です。 それを忘れないでください。それが、このセットアップ全体を単なる標準のLinuxボックスよりも優れたものにしているからです。
開発環境のセットアップ
これからは、Linux onWindowsのキラーセットアップになると思うものについて意見のある項目のリストを提供します。 覚えておいてください:私の意見はそれだけです。 意見。 私のすべての意見と同じように、それらは100%正しいということが起こります。
より良いターミナルを手に入れる
はい、Ubuntuをインストールしたときにターミナルを取得しました。 これは、実際にはLinuxディストリビューションに接続されているWindowsコンソールです。 それは悪いコンソールではありません。 サイズを変更したり、コピー/貼り付けをオンにしたりできます(設定で)。 ただし、タブなどを実行したり、新しいウィンドウを開いたりすることはできません。 多くの人がMacで交換用のターミナルプログラムを使用しているように(私はHyperを使用しています)、Windowsには他のオプションもあります。 GithubのAwesomeWSLリストには、かなり網羅的なリストが含まれています。
これらはすべて優れたエミュレーターですが、Windowsをよく知っている人が作成した新しいオプションがあります。
Microsoftは、「WindowsTerminal」と呼ばれる新しいアプリケーションに取り組んでいます。
WindowsターミナルはWindowsストアからインストールでき、現在プレビューモードです。 私はかなり長い間それを使用してきました、そしてそれは十分な機能を持っていて、そして私がそれに完全な支持を与えるのに十分安定しています。
新しいWindowsターミナルは、フルタブインターフェイス、コピー/貼り付け、複数のプロファイル、透明な背景、背景画像、さらには透明な背景画像を備えています。 ターミナルをカスタマイズしたいならフィールドデーで、このサックレースに勝つようになりました。
これが私の現在の端末です。 ここでは、いくつかの重要な調整について説明します。
Windowsターミナルはかなりカスタマイズ可能です。 左上(「 + 」記号の横)にある「 ⌄ 」矢印をクリックすると、「設定」にアクセスできます。 これにより、JSONファイルが開きます。
コピー/貼り付けをバインド
ファイルの先頭には、すべてのキーバインディングがあります。 私が最初にしたことは、「コピー」をCtrl + Cにマップし、 Ctrl + Vに貼り付けることでした。 理解できないStackOverflowのコマンドをコピーして貼り付ける方法は他にありますか?
{ "command": "copy", "keys": ["ctrl+c"] }, { "command": "paste", "keys": ["ctrl+v"] },
問題は、 Ctrl + CがすでにSIGINT、またはLinuxのInterrupt / killコマンドにマップされていることです。 コピー/貼り付けをそれぞれCtrl + Shift + CおよびCtrl + Shift + Vにマッピングすることでこれを処理する、Windows用の端末はたくさんあります。 問題は、コピー/貼り付けがWindowsの1か所おきにCtrl + C / Ctrl + Vであるということです。 ターミナルでCtrl + Cを何度も押し続けて、コピーしようとしました。 私はそれをやめられませんでした。
Windowsターミナルはこれを別の方法で処理します。 テキストを強調表示してCtrl + Cを押すと、テキストがコピーされます。 実行中のプロセスがある場合でも、SIGINTコマンドを送信して中断します。 これは、WindowsターミナルでCtrl + C / Ctrl + Vをコピー/貼り付けに安全にマップでき、プロセスを中断する機能を妨げないことを意味します。
コピー/貼り付けがこれほど多くの心痛を引き起こす可能性があると誰が考えましたか?
デフォルトプロファイルを変更する
デフォルトのプロファイルは、新しいタブを開いたときに表示されるプロファイルです。 デフォルトでは、これはPowershellです。 下にスクロールして、Linuxプロファイルを見つけてください。 これは、 wsl.exe -d Ubuntu
を開くものです。 GUIDをコピーして、 defaultProfile
設定に貼り付けます。
これらの2つの設定を移動して、見やすくするために互いに隣接するようにしました。
背景を設定する
背景が濃い無地で、右隅にフラットなロゴが付いているのが好きです。 これを行うのは、ロゴを明るく見やすくしたいが、テキストの邪魔にならないようにするためです。 これは私が自分で作成したものですが、SimpleDesktopsにはフラットな画像の素晴らしいコレクションがあります。
背景はbackgroundImage
プロパティで設定されます。
"backgroundImage": "c:/Users/YourUserName/Pictures/earth.png"
「アクリル」と呼ばれる設定にも気付くでしょう。 これにより、背景の不透明度を調整できます。 背景色が無地の場合、これは非常に簡単です。
"background": "#336699", "useAcrylic": true, "acrylicOpacity": 0.5
arcylicOpacity
設定とbackgroundImageOpacity
を組み合わせることで、これを背景画像でも実現できます。
"backgroundImage": "c:/Users/username/Pictures/earth-and-stars.png", "useAcrylic": true, "acrylicOpacity": 0.5
私のテーマでは、透明度によってすべてがミュートに見えるため、 useAcrylic
をfalse
に設定したままにします。
フォントを変更する
Windows Terminalを構築しているチームは、「CascadiaCode」と呼ばれる新しいフォントにも取り組んでいます。 この記事の執筆時点では利用できないため、代わりにデフォルトのWindowsフォントを使用してください。
Windowsターミナルのデフォルトのフォントは「Consolas」です。 これは、Windowsコマンドラインが使用するのと同じフォントです。 本当のUbuntuの感触が必要な場合は、ChrisHoffmanが公式のUbuntuMonoフォントをインストールする方法を指摘します。
違いがわかるように、前と後を次に示します。
"fontFace": "Ubuntu Mono"
それらはかなり似ています。 主な違いは、Ubuntu Monoの間隔にあります。これにより、端末が少しタイトでクリーンになります。
配色
配色はすべて設定ファイルの下部にあります。 「キャンベル」の配色をベースラインとしてコピーしました。 私は色を名前と一致させようとしますが、私も悪党になることを恐れません。 「#ffffff」を「blue」にマッピングします—気にしません。
私が「Earth」と名付けたこの特定のスキームが気に入った場合は、この要点をまとめたので、スクリーンショットからこの混乱をすべて手動でコピーする必要はありません。
注:カラープレビューは、VSCodeの「カラーハイライト」拡張機能によって提供されます。
デフォルトの開始ディレクトリを変更する
デフォルトでは、WSLプロファイルはWindows側のホームディレクトリに移動します。 この記事で推奨しているセットアップに基づいて、代わりにLinux home
フォルダーにドロップすることをお勧めします。 これを行うには、「Ubuntu」プロファイルのstartingDirectory
設定を変更します。
"startingDirectory": "\\\\wsl$\\Ubuntu\\home\\burkeholland"
そこのパスに注意してください。 このパス(余分なエスケープスラッシュを除く)を使用して、WindowsコマンドラインからWSLにアクセスできます。
Zsh / Oh-My-Zshをインストールします
これまでにZshとOh-My-Zshを使用したことがない場合は、本物の楽しみを味わうことができます。 Zsh(または「Zシェル」)は、Linuxの代替シェルです。 暗黙のディレクトリ切り替え( cd
と入力する必要はありません)、テーマのサポート、プロンプトの改善など、Bashの基本機能を拡張します。
Zshをインストールするには、Linuxインストールですぐに使用できるaptパッケージマネージャーを使用してZshを取得します。
sudo apt install zsh
curlを使用してoh-my-zshをインストールします。 Oh-my-zshは、プラグイン、テーマ、および無数のキーボードショートカットを使用して、シェルエクスペリエンスをさらに向上させるzshの構成セットです。
sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
次に、デフォルトのシェルをZshに変更するかどうかを尋ねられます。 あなたはそうします、それで肯定的に答えてください、そしてあなたは今ZshとOh-My-Zshで稼働しています。
プロンプトがずっときれいになっていることに気付くでしょう。 ~/.zshrc
ファイルのテーマを変更することで、そのプロンプトの外観を変更できます。
VIMのようなnano
で開きますが、必要に応じて編集して終了することができます。
nano ~/.zshrc
テーマを設定する行を変更します。 その上にテーマの全リストを含むURLがあります。 「クラウド」のものはいいと思います。 そしてかわいい。
取得した.zshrc
への変更を取得するには、それを入手する必要があります。
source ~/.zshrc
注:グリフを必要とする「agnoster」のようなテーマを選択する場合は、グリフを含むUbuntuMonoの電力線が注入されたバージョンが必要になります。 そうしないと、キーボードで顔をつぶしたような奇妙な文字で端末がいっぱいになります。 Nerd Fontsは、かなりうまく機能しているように見えるフォントを提供しています。
これで、ディレクトリ名を入力するだけでディレクトリを変更するなどのことができます。 cd
は必要ありません。 ディレクトリに戻りたいですか? ただ..
ディレクトリ名全体を入力する必要はありません。最初の数文字を入力してタブを押すだけです。 Zshは、検索に一致するすべてのファイル/ディレクトリのリストを提供し、それらをタブで移動できます。
ノードのインストール
Web開発者は、おそらくNodeをインストールしたいと思うでしょう。 Web開発を行うためにNodeをインストールする必要はないと思いますが、2019年には確かにそのように感じます!
あなたの最初の本能はapt
でノードをインストールすることかもしれません、それはあなたがすることができます、しかしあなたは2つの理由でそれを後悔するでしょう:
- aptのNodeのバージョンはひどく時代遅れです。
- アクセス許可の問題が発生しないように、バージョンマネージャーを使用してNodeをインストールする必要があります。
これらの問題の両方を解決する最良の方法は、nvm(ノードバージョンマネージャー)をインストールすることです。 zsh
をインストールしたので、zshrcファイルにnvmプラグインを追加するだけで、残りはzshが処理します。
まず、 zsh-nvm
リポジトリにクローンを作成してプラグインをインストールします。 (心配しないでください。GitはUbuntuインストールに標準で付属しています。)
git clone https://github.com/lukechilds/zsh-nvm ~/.oh-my-zsh/custom/plugins/zsh-nvm
次に、プラグインとして~/.zshrc
ファイルに追加します。
`nano ~/.zshrc` plugins (zsh-nvm git)
source ~/.zshrc
を使用してzshrcファイルを再度ソースすることを忘れないでください。そうすると、nvmがインストールされていることがわかります。
これで、nvmを使用してノードをインストールできます。 複数のバージョンのノードを並べてインストールし、それらを簡単に切り替えることができます。 また、グローバルnpmインストールを実行するときに権限エラーはありません!
nvm install --lts
プラグインを使用するとnvmを簡単にアップグレードできるため、標準のnvmインストールよりもこれをお勧めします。 これは、標準の「カール」インストールでは一種の苦痛です。 これはプラグインを使用した1つのコマンドです。
nvm upgrade
自動提案を利用する
zsh用の私の非常にお気に入りのプラグインの1つは、zsh-autosuggestionsです。 以前に端末に入力したものを記憶し、もう一度入力を開始するとそれらを認識し、必要な行を「自動提案」します。 このプラグインは、私が覚えているよりも何度も便利になりました。特に、過去に使用した長いCLIコマンドに関しては、覚えることができません。
リポジトリをzsh拡張フォルダーに複製します。
git clone https://github.com/zsh-users/zsh-autosuggestions ~/.oh-my-zsh/custom/plugins/zsh-autosuggestions
次に、それをzshプラグインに追加し、zshrcファイルを入手します。
nano ~/.zshrc # In the .zshrc file plugins(zsh-nvm zsh-autosuggestions git) source ~/.zshrc
プラグインはzshの履歴を読み取るので、前に入力したコマンドの入力を開始して、魔法を見てください。 上記のlongcloneコマンドの最初の部分を入力してみてください。
↹を押すと、コマンドがオートコンプリートされます。 ↹を押し続けると、一致する可能性のある履歴内のコマンドのいずれかが循環します。
重要なキーボードショートカット
私がいつも使っているターミナルショートカットがいくつかあります。 これは、VSCodeを含むすべてのツールで見つかります。 すべてのショートカットを学習しようとすると、それらを覚えるのに十分に使用できないため、時間の無駄になります。
これが私が定期的に使用するいくつかです:
ターミナルショートカット | それは何をするためのものか? |
---|---|
Ctrl + L | これにより、ターミナルがクリアされ、トップに戻ります。 これは、「クリア」と入力するのと同じです。 |
Ctrl + U | これにより、現在の行のみがクリアされます。 |
Ctrl + A | コマンドラインの先頭にカーソルを移動します。 |
Ctrl + E | 行の終わりに移動します。 |
Ctrl + K | カーソルの後のすべての文字を削除します。 |
それでおしまい! 私がおそらく学んだ他のすべては、それがまったく役に立たないので忘れてしまいました。
Gitの構成(ハブ/ラボ/ Whatevs)
GitはUbuntuに付属しているため、インストールは必要ありません。 選択したソース管理ホスティング業者の指示に従って、sshキーを作成して機能させることができます。
Githubの手順では、「コピー」ユーティリティを使用してsshキーをコピーするように指示されていることに注意してください。 Ubuntuには「xcopy」コマンドがありますが、クリップボードに関してLinuxとWindowsの間に相互運用性がないため、ここでは機能しません。
代わりに、Windowsクリップボード実行可能ファイルを使用して、ターミナルから直接呼び出すことができます。 最初にcat
でテキストを取得してから、それをWindowsクリップボードにパイプする必要があります。
cat ~/.ssh/id_rsa.pub | clip.exe
Githubのドキュメントには、 ssh-agent
が実行されていることを確認するように指示されています。 そうではありません。 キーをエージェントに追加しようとすると、次のように表示されます。
エージェントを起動することはできますが、次にWindowsをリブートするか、WSLが停止したときに、エージェントを再起動する必要があります。 これは、WSLに初期化システムがないためです。 WSLの開始時にすべてのサービスを開始するsystemd
または別のプロセスはありません。 WSLはまだプレビュー段階にあり、チームはこのためのソリューションに取り組んでいます。
それまでの間、信じられないかもしれませんが、このためのzshプラグインもあります。 これはssh-agent
と呼ばれ、oh-my-zshがインストールされているため、 .zshrc
ファイルで参照するだけです。
zsh-nvm zsh-autosuggestions ssh-agent git
これにより、WSLを初めて起動したときにssh-agentが実行されていない場合に、ssh-agentが自動的に起動します。 欠点は、WSLが新しく開始されるたびにパスフレーズを要求されることです。 つまり、基本的には、コンピュータを再起動するときはいつでもです。
VSコードとWSL
WSLにはGUIがないため、VSCodeのようなビジュアルツールをインストールすることはできません。 それはWindows側にインストールする必要があります。 Linux側のファイルにアクセスするWindows側で実行されているプログラムがあるため、これは問題を引き起こします。これにより、すべての癖や「許可が拒否された」問題が発生する可能性があります。 一般的な経験則として、 Microsoftは、Windowsプログラムを使用してWSL側のファイルを変更しないことをお勧めします。
これを解決するために、「リモートWSL」と呼ばれるVSCodeの拡張機能があります。 この拡張機能はMicrosoftによって作成されており、WSL内で開発できますが、VSCode内から開発できます。
拡張機能をインストールしたら、コマンドパレットを開いてVSCodeをUbuntu側に直接アタッチできます(
これにより、VS Codeの新しいインスタンスが開き、完全にLinux側にいるように作業できます。 「ファイル/開く」を実行すると、WindowsではなくUbuntuファイルシステムが参照されます。
VS Codeの統合ターミナルは、美しくカスタマイズされたzshセットアップを開きます。 リモートWSL拡張機能をインストールすると、すべてが正常に機能します。
コードを使用して端末からコードを開く場合code .
、VS Codeは、WSLから開かれたことを自動的に検出し、リモートWSL拡張機能を自動接続します。
リモートWSLを使用したVSコード拡張
VS CodeのリモートWSL拡張機能は、Linux側に小さなサーバーをセットアップし、Windows側のVSCodeからサーバーに接続することで機能します。 その場合、VS Codeにインストールした拡張機能は、WSLからプロジェクトを開いたときに自動的に表示されません。
たとえば、VSCodeで開いているVueプロジェクトがあります。 構文の強調表示やフォーマットなどのために適切なVue拡張機能をすべてインストールしていますが、VSCodeはこれまで.vue
ファイルを見たことがないように動作します。
インストールしたすべての拡張機能は、WSLで有効にできます。 WSLで必要な拡張機能を見つけて、[WSLにインストール]ボタンをクリックするだけです。
WSLにインストールされているすべての拡張機能は、拡張機能エクスプローラービューの独自のセクションに表示されます。 拡張機能がたくさんある場合は、それぞれを個別にインストールするのは少し面倒かもしれません。 WSLにあるすべての拡張機能をインストールするだけの場合は、[ローカル-インストール済み]セクションの上部にある小さなクラウドダウンロードアイコンをクリックします。
開発ディレクトリを設定する方法
これはすでに意見のある記事なので、ファイルシステム上でプロジェクトをどのように構成すべきかについて、あなたが尋ねなかった記事があります。
私はすべてのプロジェクトをLinux側に置いています。 プロジェクトを「マイドキュメント」に入れてから、WSLからプロジェクトを操作しようとはしません。 私の脳はそれを処理できません。
Linuxの/home
フォルダーのルートに/dev
というフォルダーを作成します。 そのフォルダー内に、Githubリポジトリと同じ名前の別のフォルダー/burkeholland
を作成します。 そのフォルダーは、Githubにプッシュされていないプロジェクトも含めてすべてのプロジェクトが移動する場所です。
別のGithubアカウント(「microsoft」など)からリポジトリのクローンを作成する場合は、「dev」に/microsoft
という名前の新しいフォルダーを作成します。 次に、リポジトリをその中のフォルダーに複製します。
基本的に、ローカルマシンのソース管理と同じ構造を模倣しています。 プロジェクトがどこにあるのか、そしてプロジェクトがどのリポジトリに接続されているのかを、その場所だけで推論する方がはるかに簡単だと思います。 シンプルですが、すべてを整理しておくのに非常に効果的です。 そして、私は私が得ることができるすべての助けが必要です。
Windowsエクスプローラからのファイルの閲覧
LinuxのファイルをWindows側から取得する必要がある場合があります。 WSLのすばらしい点は、それでも実行できることです。
1つの方法は、マップされたドライブと同じようにWSLにアクセスすることです。 エクスプローラーバーから直接\\wsl$
でアクセスします。
\\wsl$
これは、さまざまな理由で行う可能性があります。 たとえば、今日、ウェブストアにないChrome拡張機能が必要でした。 そこで、リポジトリをWSLで複製し、「解凍された拡張機能」としてそのリポジトリに移動して、Edgeにロードしました。
Linuxで頻繁に行うことの1つは、ターミナルから直接ファイルを含むディレクトリを開くことです。 これは、 explorer.exe
を直接呼び出すことにより、WSLでも実行できます。 たとえば、このコマンドはWindowsエクスプローラで現在のディレクトリを開きます。
$ explorer.exe .
ただし、このコマンドは少し面倒です。 Linuxでは、 open .
。 ~/.zshrc
にエイリアスを作成することで、同じ魔法をかけることができます。
alias open="explorer.exe"
Docker
すべてのツールはLinux側にあるべきだと言ったとき、私はそれを意味しました。 これにはDockerが含まれます。
これは、ゴムが実際に道路に出会うところです。 ここで必要なのは、Windows内で実行されているLinux内で実行されているDockerです。 あなたがブログの投稿にそれを書き留めるとき、それは少しロシアの入れ子人形です。 実際には、それはかなり簡単です。
正しいバージョンのDockerforWindowsが必要です。 この記事の執筆時点では、これがWSL 2 TechPreviewです。
インストーラーを実行すると、Linuxコンテナーの代わりにWindowsコンテナーを使用するかどうかを尋ねられます。 あなたは間違いなくそうします。 そうしないと、WSLでDockerを実行するオプションが得られません。
これで、システムトレイの項目をクリックし、[WSL 2 Tech Preview]を選択することで、WSLでDockerを有効にできます。
サービスを開始した後、期待どおりにWSL内でDockerを使用できます。 WSLでDockerを実行すると、パフォーマンスが大幅に向上するだけでなく、コンテナーのコールドスタート時間が向上します。
また、VS Code用のDocker拡張機能をインストールすることをお勧めしますか? Dockerセットアップに視覚的なインターフェイスを配置し、これらのコマンドラインフラグとオプションをすべて覚えておく必要がないため、通常はDockerの操作が簡単になります。
Windowsでより多くのBashを入手する
この時点で、BashをWindowsに配置する方法と、そこに到達した後の動作について理解する必要があります。 ターミナルは無限にカスタマイズでき、PATH変数の自動設定、エイリアスの作成、ターミナルでのASCIIカウの取得など、さまざまな種類のradプログラムを追加できます。
WindowsでBashを実行すると、まったく新しい世界が開かれました。 生産性の面で大好きなWindowsと、開発者として頼りにしているLinuxを組み合わせることができます。 何よりも、1台のマシンで両方のプラットフォーム用のアプリを構築できるようになりました。
参考文献
WindowsでのBashの詳細については、こちらをご覧ください。
- 「WindowsSubsystemForLinuxインストールガイドForWindows 10」、Microsoft Docs
- 「Windows10にBashシェルをインストールして使用する方法」ChrisHoffman、ハウツーオタク
- 「SSHとWSLの共有」DrewWilson
- 「Linux用のウィンドウサブシステムに夢中になる」BrianKetelsen
- 「Windows10の新しいBashシェルでできることはすべて」、ハウツーオタクのクリスホフマン
この記事に対する忍耐、支援、およびガイダンスを提供してくれたBrian Ketelsen、Matt Hernandez、Rich Turner、およびCraigLoewenに特に感謝します。