一开始安装的是v5.10.1,后来想使用n模块安装v4.4.3稳定版; sudo n 4.4.3 在安装过程遇到问题,如图: 这时检查版本,遇到问题,如图: 然后我删除安装一般的v4.4.3, sudo n rm 4.4.3 这时再检查版本时,发现正常了,是v5.10.1
我想问: 1.如果当前版本高于指定的版本,使用 n x.x.x 安装时,是否会出错? 2.我上面描述的问题是为什么?
- 不会报错.
- n 下载安装包的时候没能完整下载. 之后可能由于node二进制文件或依赖的库不完整, 导致 Segmentation fault 的错误. 我理解的不深, 求高手补充.
@Chunlin-Li 通过n安装,是覆盖安装还是重新安装指定版本?毕竟n use x.xx 命令可以指定版本;另外,请问是否使用n成功安装过?(从高版本------->低版本)
我记得 n 只覆盖 /usr/local/bin 下面的 bin 文件和 npm link. 各个版本安装后都保存在 /usr/local/n/versions/node/ 路径下面.
你只是需要翻个墙什么的. 或者手动下载 tar.gz 在指定目录解压就行.
你是不是之前已经装过一个node了,然后再用nvm 装的?
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暂时不支持重定向