如何在 WSL 和 Windows10 中组织编程语言和库
How to organize programming languages and libraries in WSL and Windows10
如何避免在 WSL 和 Windows10 中安装相同的编程语言?
我正在考虑将 WSL 用作开发工作区。但是,我意识到我需要在 WSL 中安装 Node.js、Python、create-react-app 等,即使我的 windows 10 已经安装了它们。
如果你能给我一些建议会很有帮助。
谢谢。
在某种程度上,这取决于您正在进行的开发类型。鉴于您的示例 languages/tools,我将假设您的大部分开发与平台、网络开发等无关
我的建议是全力使用 WSL 并安装您使用的工具的 Linux 版本(下面介绍了一些值得注意的例外情况)。
建议卸载 Windows 版本,但并非绝对必要。我建议卸载,因为我继续在 Stack 站点上看到许多问题,在这些站点上很明显,Windows 版本的 Node 或 Python 正在从 WSL 内部调用。很可能某些工具,例如 nvm
或等效工具,试图将 Windows 节点或 Python 位置添加到 Linux 路径。
这会导致问题,因为 Windows 版本的 Node 和 Python 理解 Windows 路径和进程。当您从 WSL 中的 Linux shell 调用它们时,shell/OS 当然会使用 Linux 版本。而 Windows Python 就不会理解 /mnt/c/Projects
这样的东西。它需要 C:\Projects
。您 可以 使用 wslpath
等实用程序(自动安装在某些 WSL 发行版中,可安装在所有其他发行版中)来解决此问题,或者您可以手动调整路径。但是...如果不需要,为什么要经历这些麻烦。
只需使用 Linux 版本,以及相应的 Linux 路径和说明。大多数开发工具、教程、说明等都将“默认”为 Linux 文档。它通常会更完整、更新等。
当然,Linux 命令行体验(主观上,肯定)远远优于 PowerShell。不要误会我的意思,我喜欢 PowerShell,但是当我通过 WSL(powershell.exe
或 pwsh.exe
)调用它时,我更喜欢 PowerShell,因为我可以利用 Linux 这样的优点less
(或 bat
)、jq
和许多其他。
并不是说没有您必须习惯的 WSL 警告。准备好 运行 在这里和那里遇到一些障碍(缺少 Systemd 支持、权限、文件系统、inotify),但大多数事情都有解决方法,您通常可以在 Stack 上找到(Stack Overflow,Ask Ubuntu, Unix & Linux, and/or 超级用户) 如果你搜索。
对于我提到的那些“值得注意的例外”,我建议安装:
Windows 终端(可在 Microsoft Store 购买),将为 WSL 提供升级的终端体验。
Windows 版本的 Visual Studio 代码 -- 我看到这里有人试图安装 Linux 版本的问题。只是没有必要。 Microsoft 在将 VSCode 的 Windows 版本与 WSL 集成方面做得很好。只需安装“远程开发”扩展包,其中包括“远程 - WSL”扩展。
如何避免在 WSL 和 Windows10 中安装相同的编程语言?
我正在考虑将 WSL 用作开发工作区。但是,我意识到我需要在 WSL 中安装 Node.js、Python、create-react-app 等,即使我的 windows 10 已经安装了它们。
如果你能给我一些建议会很有帮助。
谢谢。
在某种程度上,这取决于您正在进行的开发类型。鉴于您的示例 languages/tools,我将假设您的大部分开发与平台、网络开发等无关
我的建议是全力使用 WSL 并安装您使用的工具的 Linux 版本(下面介绍了一些值得注意的例外情况)。
建议卸载 Windows 版本,但并非绝对必要。我建议卸载,因为我继续在 Stack 站点上看到许多问题,在这些站点上很明显,Windows 版本的 Node 或 Python 正在从 WSL 内部调用。很可能某些工具,例如 nvm
或等效工具,试图将 Windows 节点或 Python 位置添加到 Linux 路径。
这会导致问题,因为 Windows 版本的 Node 和 Python 理解 Windows 路径和进程。当您从 WSL 中的 Linux shell 调用它们时,shell/OS 当然会使用 Linux 版本。而 Windows Python 就不会理解 /mnt/c/Projects
这样的东西。它需要 C:\Projects
。您 可以 使用 wslpath
等实用程序(自动安装在某些 WSL 发行版中,可安装在所有其他发行版中)来解决此问题,或者您可以手动调整路径。但是...如果不需要,为什么要经历这些麻烦。
只需使用 Linux 版本,以及相应的 Linux 路径和说明。大多数开发工具、教程、说明等都将“默认”为 Linux 文档。它通常会更完整、更新等。
当然,Linux 命令行体验(主观上,肯定)远远优于 PowerShell。不要误会我的意思,我喜欢 PowerShell,但是当我通过 WSL(powershell.exe
或 pwsh.exe
)调用它时,我更喜欢 PowerShell,因为我可以利用 Linux 这样的优点less
(或 bat
)、jq
和许多其他。
并不是说没有您必须习惯的 WSL 警告。准备好 运行 在这里和那里遇到一些障碍(缺少 Systemd 支持、权限、文件系统、inotify),但大多数事情都有解决方法,您通常可以在 Stack 上找到(Stack Overflow,Ask Ubuntu, Unix & Linux, and/or 超级用户) 如果你搜索。
对于我提到的那些“值得注意的例外”,我建议安装:
Windows 终端(可在 Microsoft Store 购买),将为 WSL 提供升级的终端体验。
Windows 版本的 Visual Studio 代码 -- 我看到这里有人试图安装 Linux 版本的问题。只是没有必要。 Microsoft 在将 VSCode 的 Windows 版本与 WSL 集成方面做得很好。只需安装“远程开发”扩展包,其中包括“远程 - WSL”扩展。