之前安装过windows下以及Mac下的node,感觉还是很方便的,不成想今天安装linux下的坑了老半天,特此记录。

首先去官网下载代码,这里一定要注意安装分两种,一种是Source Code源码,一种是编译后的文件。我就是按照网上源码的安装方式去操作编译后的文件,结果坑了好久好久。

(一) 编译好的文件

  像上图中红色框里面的就是已经编译好的文件,选择好对应的linux版本下载即可,简单说就是解压后,在bin文件夹中已经存在node以及npm,如果你进入到对应文件的中执行命令行一点问题都没有,不过不是全局的,所以通过建立软链接的方式将这个设置为全局就好了。

tar  xf node-v5.10.1-linux-x64.tar.gz -C /usr/local/
cd /usr/local/
mv node-v5.10.1-linux-x64/ nodejs
ln -s /usr/local/nodejs/bin/node /usr/local/bin
ln -s /usr/local/nodejs/bin/npm /usr/local/bin

(二)通过源码编译

这种方式你下载的文件是Source code,由于我的linux版本是6.x的,默认的gcc-c++为4.4.7 版本,而下过来之后源码编译要求gcc-c++版本最低为4.8,于是我就去升级GCC-C++版本,结果因为是源码编译升级GCC-C++,编译了一个多小时,都没有编译完成!果断被坑...

root># ./configure
WARNING: C++ compiler too old, need g++ 4.8 or clang++ 3.4 (CXX=g++)
creating ./icu_config.gypi
{ 'target_defaults': { 'cflags': [],
'default_configuration': 'Release',
'defines': [],
'include_dirs': [],
'libraries': []},
'variables': { 'asan': 0,
'gas_version': '2.20',
'host_arch': 'x64',
'icu_small': 'false',
'node_byteorder': 'little',
'node_install_npm': 'true',
'node_prefix': '/usr/local',
'node_release_urlbase': '',
'node_shared_http_parser': 'false',
'node_shared_libuv': 'false',
'node_shared_openssl': 'false',
'node_shared_zlib': 'false',
'node_tag': '',
'node_use_dtrace': 'false',
'node_use_etw': 'false',
'node_use_lttng': 'false',
'node_use_openssl': 'true',
'node_use_perfctr': 'false',
'openssl_fips': '',
'openssl_no_asm': 0,
'target_arch': 'x64',
'uv_parent_path': '/deps/uv/',
'uv_use_dtrace': 'false',
'v8_enable_gdbjit': 0,
'v8_enable_i18n_support': 0,
'v8_no_strict_aliasing': 1,
'v8_optimized_debug': 0,
'v8_random_seed': 0,
'v8_use_snapshot': 'true',
'want_separate_host_toolset': 0}}
creating ./config.gypi
creating ./config.mk
WARNING: warnings were emitted in the configure phase

(三)apt-get

还有一种就是乌班图下的apt-get方式,我之前就被这种方式坑了

  sudo apt-get install nodejs
  sudo apt-get install npm

这么装完你会发现,node命令不好使,nodejs命令可以用...

最新文章

  1. NDK笔记(二)-在Android Studio中使用ndk-build
  2. 后台树状菜单,js实现递归无限分类
  3. Android开发之Git配置
  4. node与mongodb的使用
  5. 通过分析iframe和无阻塞脚本关系能让我们更懂iframe
  6. Java学习笔记(十)——多态
  7. 锁屏上显示Activity
  8. BZOJ2302 [HAOI2011]Problem c
  9. brent ozar的sqlserver dba训练课程翻译——第二章:手动恢复数据库
  10. pktgen使用详细教程
  11. ASP.NET MVC (Razor)开发
  12. oracle 11g使用deferred_segment_creation 延迟段创建特性时遇到的问题总结
  13. Oracle 11g Articles
  14. Python 实现 KD-Tree 最近邻算法
  15. css 元素居中
  16. python3中__get__,__getattr__,__getattribute__的区别
  17. 轻松转移github项目步骤
  18. 【bzoj2154】 Crash的数字表格
  19. HTTP-API-DESIGN 怎样设计一个合理的 HTTP API (一)
  20. rabbitmq+topic+java

热门文章

  1. c#与java的区别
  2. Partition2:对表分区
  3. AbpZero--2.如何启动
  4. EF上下文对象线程内唯一性与优化
  5. WPF中Grid实现网格,表格样式通用类
  6. SQL Server常见问题介绍及快速解决建议
  7. vim环境变量配置、背景色配置
  8. 浅谈iptables 入站 出站以及NAT实例
  9. Windows下Nginx配置SSL实现Https访问(包含证书生成)
  10. 【腾讯Bugly干货分享】移动App入侵与逆向破解技术-iOS篇