问题描述
如何避免在WSL和Windows 10中安装相同的编程语言?
我正在考虑将WSL用作开发工作空间。然而,我意识到我需要在WSL中安装Node.js、Python、Create-Reaction-app等等,尽管我的Windows10已经安装了它们。
如果你能给我提点建议,那就太好了。
谢谢。
推荐答案
在某种程度上,这取决于您正在进行的开发的类型。给出您的示例语言/工具,我将假设您的大多数开发是平台无关的、Web开发等。
我的建议是在WSL上全力以赴,安装您使用的工具的Linux版本(以下将介绍一些值得注意的例外)。
建议卸载Windows版本,但不是必须的。我建议卸载,因为我在Stack站点上继续看到许多问题,很明显,Windows版本的Node或Python是从WSL内部调用的。很可能是某些工具(如nvm
或类似工具)试图将Windows节点或Python位置添加到Linux路径。这会导致问题,因为Windows版本节点和Python了解Windows路径和进程。当您从WSL中的Linux外壳调用它们时,当然,外壳/OS使用Linux版本。而Windows Python就是不能理解/mnt/c/Projects
这样的东西。它需要C:Projects
。您可以使用诸如wslpath
(自动安装在某些WSL发行版中,可以安装在所有其他WSL发行版中)之类的实用程序来解决这个问题,或者您也可以手动调整路径。但是.。如果你不需要,为什么要这么麻烦呢?
只需使用Linux版本,并带有相应的Linux路径和说明。大多数开发工具、教程、说明等都将默认放到Linux文档中。它通常会更完整、更新等。
当然,Linux命令行体验(主观上是肯定的)远远好于PowerShell。不要误解我的意思,我喜欢PowerShell,但当我通过WSL(powershell.exe
或pwsh.exe
)调用它时,我更喜欢PowerShell,因为我可以利用less
(或bat
)、jq
和许多其他特性。并不是说没有您必须习惯的WSL警告。准备好在这里和那里遇到一些障碍(缺乏系统支持、权限、文件系统、intify),但如果你搜索,大多数东西都有一个解决办法,你通常可以在Stack上找到(Stack Overflow,问问Ubuntu、Unix&;Linux和/或超级用户)。
对于我提到的那些值得注意的例外情况,我建议安装:
Windows终端(在Microsoft应用商店中提供),它将为WSL提供升级的终端体验。
Windows版本的Visual Studio代码--我看到这里有人提出了一个问题,他试图安装Linux版本。这根本没有必要。微软在Windows版本的VSCode与WSL的集成方面做得很好。只需安装";Remote Development";扩展包,其中包括";Remote-wsl";扩展。
这篇关于如何在WSL和Windows10中组织编程语言和库的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!