n或nvm用于管理节点版本 - 保持每个版本的全局模块是个好主意吗?

时间:2017-01-15 20:35:41

标签: node.js

我一直在使用docker容器作为节点,不幸的是在OSX上gulp watch超级慢而且有错误。所以我回到主机上安装工具:(不幸的是。

nnvm

之间进行选择

我看到它们之间的一个主要区别是全局包,n为所有版本保留单个全局回购,nvm保持em分离。

没有参与过许多node.js项目,我觉得这是一个重要的区别,但我不确定它在现实生活中是否真的重要。

任何想法?

2 个答案:

答案 0 :(得分:2)

n是一个Node模块,可以通过npm安装,nvm是一个Bash脚本。

nnvm都是活跃的项目,因为它比在Windows上更新更麻烦。他们仍然积极维护,并且都在不到10天前进行了修改。

我觉得n更容易使用,因为它可以通过npm安装,但两个脚本都可以达到目的;)

答案 1 :(得分:1)

我会说,如果您不需要使用不同的节点版本并来回切换,则n会容易得多。例如,当您使用nvm切换到不同的节点版本时,所有具有旧版本的全局软件包都“消失”了,您将不得不为新版本再次安装它们,对于生产环境来说是一件好事,但对于开发人员环境很烦人。

我有一个项目始于节点6(mac和Ubuntu),在过去的两年中,我所做的只是首先升级到节点8(主要是使用async / await以避免回调地狱),然后再升级到节点10(主要是为了使用最新的V8引擎获得更好的性能)。我尝试了nvm,而n和n肯定更容易。