请教 linux 更新 node 4.0的问题
发布于 9 年前 作者 thomas0836 5619 次浏览 最后一次编辑是 8 年前 来自 问答

请大神们指导 我在aws的 linux系统上更新node的版本到4.0,下载了最新的包解压运行 make install 然后就一直停在哪里

node-v4.0.0]# make install make -C out BUILDTYPE=Release V=1 make[1]: Entering directory `/home/ec2-user/node-v4.0.0/out’ g++ ‘-DV8_TARGET_ARCH_X64’ ‘-DENABLE_DISASSEMBLER’ ‘-DV8_IMMINENT_DEPRECATION_WARNINGS’ ‘-DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_STATIC’ -I…/deps/v8 -pthread -Wall -Wextra -Wno-unused-parameter -m64 -B/home/ec2-user/node-v4.0.0/third_party/binutils/Linux_x64/Release/bin -fno-strict-aliasing -m64 -O3 -ffunction-sections -fdata-sections -fno-omit-frame-pointer -fdata-sections -ffunction-sections -O3 -fno-rtti -fno-exceptions -std=gnu++0x -MMD -MF /home/ec2-user/node-v4.0.0/out/Release/.deps//home/ec2-user/node-v4.0.0/out/Release/obj.target/v8_base/deps/v8/src/accessors.o.d.raw -c -o /home/ec2-user/node-v4.0.0/out/Release/obj.target/v8_base/deps/v8/src/accessors.o …/deps/v8/src/accessors.cc

12 回复

虽然没有注意看错误信息,也没有编译过node 4.0

但是我听说ndoejs 4.0 编译需要比较高级的g++版本 一般的centos自带的g++版本都不够

你可以看看g++版本

@Sunmile thx 试试看

@Sunmile

Package gcc-c+±4.8.2-3.19.amzn1.noarch already installed and latest version Nothing to do

呜呜 不行

直接下载编译好的二进制文件简单多了,或者 pm install -g n, 然后 n stable

使用了N 但是 node的路径不知道怎么搞…which node和N安装的路径不一样

@hpgt thx 但是…路径的问题还没有解决

@thomas0836 你rm了which node 出来那个就好 这样按搜索路径就会到n的那个去了

@thomas0836 一般来说是不一样,你之所以可以在任意路径下使用命令node -v是因为它是一个全局命令,而之所以是全局命令是因为在/usr/local/bin/下面有node和npm的链接,用which命令查出来的就是这个目录

@Sunmile

]# node -v v0.12.7 ]# which node /nodejs/bin/node ]# rm /nodejs/bin/node rm: remove regular file ‘/nodejs/bin/node’? y ]# which node /usr/local/bin/node ]# node -v -bash: /nodejs/bin/node: No such file or directory ]# rm /usr/local/bin/node rm: remove regular file ‘/usr/local/bin/node’? y ]# node -v -bash: /nodejs/bin/node: No such file or directory

which node

/usr/bin/which: no node in (/usr/local/redis/bin:/nodejs/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/opt/aws/bin:/root/bin)

n bin 4.1.0

/usr/local/n/versions/node/4.1.0/bin/node

请问接下来怎么让node 这个指令指向 n的那个?

我从来不编译,或用n之类的。我的node都是放在/app/soft目录中 在root下执行的.我也已经有个大概的脚本了。 windows下,我则用nsis写了个绿化处理器。

以下是思路

cd /app/soft

# 删除旧版
rm -rf node

#下载解压新版
#国内
curl --progress http://npm.taobao.org/mirrors/node/latest/node-v4.1.0.tar.xz | tar xJ
#国外
curl --progress https://nodejs.org/dist/latest/node-v4.1.0.tar.xz | tar xJ
mv node-* node

#如果此前通过该方法安装过,则略过
echo 'PATH="${PATH}:/app/soft/node/bin:/app/soft/node/lib/bin"' >> /etc/profile
source /etc/profile

#强制指定全局node_modules安装路径
cd /app/soft/node/lib/node_modules/npm
echo "prefix=/app/soft/node" > npmrc
echo "cache=/tmp/node_cache" >> npmrc

#强制国内淘宝源
echo "registry=http://registry.npm.taobao.org/" >> npmrc

@orbury thx 已通过修改配置文件解决啦

@thomas0836 老实说,以前我也老喜欢自己编译,阿席巴,现在真觉得是在浪费时间。

回到顶部