前言
继续我们探索Fish shell及其与普遍工具的协同作用,此帖子遵循prior piece的重点关注Python的virtualenv。
本文章提供了一种直接的策略,可以将自动Node.js版本控制与Fish shell合并,同时避免使用oh-my-fish之类的渴望资源的框架,通常可以放慢壳。
。NODE.JS版本管理(NVM)的简介
Node.js是一个广泛包含的JavaScript运行时环境,可以在浏览器外执行JavaScript代码。它在创建服务器端应用程序,命令行工具甚至桌面和移动应用程序时都找到了实用程序。
nvm,以单台计算机上的多个Node.js版本管理而闻名,促进了简单的安装,并使用单个命令在不同的node.js版本之间进行交换。
nvm虽然为Bash和Zsh壳制造,但与Fish shell不直接兼容。有几种方法可以将nvm与Fish shell进行网络,但通常太复杂或资源了。
根据我的经验,试图在Fish shell中使用NVM克隆的期望不足。当我基于
.nvmrc
文件切换目录时,它无法完成自动在Node.js版本之间自动转移的主要任务。
方法
客观的
目标是根据.nvmrc
文件更改目录时自动使Node.js版本自动切换。
为什么不使用.node-version
?由于支持iojs
和lts/*
之类的其他选项,因此受到.nvmrc
文件的青睐,也是nvm的标准。
如何
implementation像往常一样简单。它不带有多个依赖性或复杂的逻辑。从本质上讲,这是完成工作的几行代码。
设置它
该插件取决于另一个插件edc/bass,该插件是从Fish shell执行bash命令的实用程序。这是一个可以通过fisher或手动安装的简单插件。
fisher install edc/bass
我建议将fisher作为鱼类的简单插件管理器。我撰写了一个可以通过fisher轻松安装的插件,并将其合并到任何鱼环境中。如果您有不使用Fisher的理由,只需将所有目录中的nvm.fish
文件复制到各自的~/.config/fish/
。
要使用fisher设置插件,请执行以下命令:
fisher install aohorodnyk/fish-nvm
如何使用
基于.nvmrc
文件更改目录后,插件将自动在Node.js版本之间切换。如果未安装Node.js所需的版本,它将自动安装。
配置
此插件不需要特定的配置。但是,您可以通过设置以下环境变量来配置它:
-
nvmrc_enable
(默认值:yes
):打开或关闭Fish NVM。设置为no
禁用。 -
nvmrc_announce
(默认值:yes
):切换node.js版本更改的公告。设置为no
禁用。
结语
不要犹豫使用Fish shell。这是一个快速,多才多艺的用户友好的外壳,是强大的竞争者bash和zsh。
为开放源代码做出贡献是学习,协助他人并帮助使技术世界变得更简单,更好的一种好方法。