什么使用/尊重.node-version文件?

时间:2014-12-11 15:01:12

标签: node.js nvm

我搜索了Stack Overflow和GitHub(节点和nvm)的答案,但无济于事。

在某些回购(例如like GitHub's Atom text editor)中,我遇到了.node-version文件。它似乎类似于.ruby-version标准文件,它可以与任何Ruby版本管理器一起为项目正确设置当前版本的Ruby。

But as far as I can tell from its documentation,nvm(节点版本管理器)仅尊重.nvmrc文件 - 它没有提及更一般的.node-version文件。在节点的文档中没有提到.node-version(我不希望有,因为它没有提供开箱即用的版本管理器)。我不知道有任何其他节点版本管理器在大量使用。

所以我的问题是,.node-version是什么?实际使用哪些工具?它只是.nvmrc的别名,还是我在这里遗漏了什么?

7 个答案:

答案 0 :(得分:22)

(披露:我保持http://nvm.sh

节点最常用的版本管理员毫无疑问是http://nvm.shhttps://www.npmjs.com/package/navehttps://www.npmjs.com/package/n

nvm用于修改单个shell会话以使用您想要的版本。 nave用于启动要加载的版本的子shell。 n用于切换单个系统范围的节点版本。

nvm使用的.nvmrc文件与.ruby-version类似,包含您通常与nvm use Xnvm install X结合的版本字符串X. nvm usenvm install本身会找到.nvmrc文件,因为只需在打开新shell时获取nvm

看来nave支持.naverc文件,但我对它的用法不太熟悉。

n似乎不支持任何此类配置,但由于它是系统范围的,因此这样做并没有多大意义。


avn支持.node-version并尝试在cd决定过度侵入行为后,挂钩nvm来提供自动版本切换。

答案 1 :(得分:21)

node.js至少有两个版本管理器,尊重.node-version文件:

  • avn - 自动节点版本切换
  • nodenv - 还有其他版本管理员

可能还有其他一些版本管理器,但我不知道它们。

我不知道Atom使用哪个特定的版本管理器。 nodenv在github上有更多明星,但avn看起来更成熟,更适合我,更不用说它与nnvm的兼容性了。

答案 2 :(得分:5)

.node-version是由各种工具单独读取的文件,用于指定目标节点版本。使用/尊重它的工具包括(按字母顺序):

  • asdf-nodejs用于asdf版本管理器的Node.js插件。 (macOS,Linux)
  • avn节点的自动版本切换。 (macOS,Linux)
  • direnv使您的.profile变得整洁。 (macOS,Linux)
  • fnm?快速,简单的Node.js版本管理器,内置于本地ReasonML中。 (macOS,Linux)
  • n交互式管理您的Node.js版本。 (macOS,Linux)
  • nodenv管理多个NodeJS版本。 (macOS,Linux)
  • nodist Windows的自然node.js和npm版本管理器。 (Windows)
  • nvh节点版本帮助器。轻松安装Node.js版本。 (macOS,Linux)
  • nvs节点版本切换器-一种跨平台工具,用于在Node.js的版本和分支之间进行切换。 (macOS,Linux,Windows)

我在此处记录了用法和一些受支持的功能:https://github.com/shadowspawn/node-version-usage

答案 3 :(得分:3)

asdfasdf-nodejs支持.node-version

legacy_version_file = yes

已添加到~/.asdfrc

答案 4 :(得分:2)

Direnv支持sendKeys("blabla@gmail.com"); .node-version个文件。我只使用Direnv来加载Node.js的项目特定版本。

https://github.com/direnv/direnv/wiki/node#load-nodejs-version-from-a-node-version-or-nvmrc-file

答案 5 :(得分:0)

在没有版本的情况下使用nvm usenvm install,nvm会抓取文件树,查找.nvmrc文件中的版本,通常会在stable {{}}登陆1}}。

这是一个粗略的6行git补丁,如果找不到~/.nvmrc文件,它将查找本地.node-version文件:

.nvmrc

没有cd-hook,没有额外的软件包可以安装,只是(我发现的是)合理的默认值。

答案 6 :(得分:0)

fnm还支持.node-version https://github.com/fisherman/fnm/

for f in .fnmrc .nvmrc .node-version