node版本模块n
发布于 8 年前 作者 RocketV2 12683 次浏览 来自 问答

一开始安装的是v5.10.1,后来想使用n模块安装v4.4.3稳定版; sudo n 4.4.3 在安装过程遇到问题,如图: 2016-04-19 21:11:38屏幕截图.png 这时检查版本,遇到问题,如图: 2016-04-19 21:19:48屏幕截图.png 然后我删除安装一般的v4.4.3, sudo n rm 4.4.3 这时再检查版本时,发现正常了,是v5.10.1

我想问: 1.如果当前版本高于指定的版本,使用 n x.x.x 安装时,是否会出错? 2.我上面描述的问题是为什么?

9 回复
  1. 不会报错.
  2. n 下载安装包的时候没能完整下载. 之后可能由于node二进制文件或依赖的库不完整, 导致 Segmentation fault 的错误. 我理解的不深, 求高手补充.

@Chunlin-Li 通过n安装,是覆盖安装还是重新安装指定版本?毕竟n use x.xx 命令可以指定版本;另外,请问是否使用n成功安装过?(从高版本------->低版本)

@RocketV2

我记得 n 只覆盖 /usr/local/bin 下面的 bin 文件和 npm link. 各个版本安装后都保存在 /usr/local/n/versions/node/ 路径下面.

你只是需要翻个墙什么的. 或者手动下载 tar.gz 在指定目录解压就行.

你是不是之前已经装过一个node了,然后再用nvm 装的?

@Chunlin-Li 说的是正确的,楼主遇到的问题主要是因为中途下载出现问题导致Node安装不完全造成的,解释如下: 主要问题在于N命令install函数中的这一行$GET $url | tar -zx --strip-components=1, 这里还有一个linux中管道|的概念, 楼主可以自行以及试验下这个命令. 上述代码使用管道命令边下载边解压, 在Node可执行文件被解压到了/usr/local/bin里面的时候, 而其依赖的文件并未下载解压到指定的目录(主要包括这些目录/usr/local/lib, /usr/local/include,/usr/local/share),因此此时执行Node命令时缺失了上述提到的依赖文件而导致报楼主遇到错误

@HarryHong 没有使用nvm;一开始安装的是v4.4.3,然后通过n安装的v5.10.1;在原来的版本上通过n安装v5.10.1有点像升级版本的感觉,因为通过n命令只能看到v5.10.1

用镜像吧。。我前两天用nvm也装不上,curl总是断开, 最后用的淘宝镜像。 就是不知道n支不支持… nvm使用镜像 参考这里

export NODE_MIRROR=http://cnpm-sz.oss-cn-shenzhen.aliyuncs.com/dist/node/ 使用taobao源,缺点是list出不来版本列表 直接使用楼上的办法会有问题,因为淘宝源是重定向到cdn下载,n暂时不支持重定向

回到顶部