0 问题出现:
要用hexo搭建静态博客,所以需要用到npm,安装nodejs
在ubuntu中直接使用sudo apt-get install nodejs 安装的nodejs以为这样就好了
然后就通过npm install -g hexo 也能下载下来,但是hexo指令失效,原因参见
使用GitHub + Hexo搭建个人博客(五)- Ubuntu升级后hexo命令失效
1 原因分析&解决
估计是单纯用sudo apt-get install nodejs这样安装node不好吧 因为这样安装
node -v 没反应
nodejs -v v0.10.33
== 这两货一样么?
为什么解决问题后 node -v v0.10.35
那么通过前面指令安装的nodejs是什么?
至于解决方案
官网下载,自己配置,对于一般开源软件包有binary distribution和source code distribution
source 源代码版本,需要自己编译成可执行文件
binary 可执行办 可以直接拿来用 已经编译好的版本
下载binary编译好的版本,解压到文件夹test.
进入test/bin:里面有 node npm
./node -v ./npm -v便可以看到相关版本号了
因为 /home/kun/mysofltware/node-v0.10.26-linux-x64/bin这个目录是不在环境变量中的,所以只能到该目录下才能node的程序。如果在其他的目录下执行node命令的话 ,必须通过绝对路径访问才可以的
如果要在任意目录可以访问的话,需要将node 所在的目录,添加PATH环境变量里面,或者通过软连接的形式将node和npm链接到系统默认的PATH目录下的一个,
软连接方式
在终端执行echo $PATH可以获取PATH变量包含的内容,系统默认的PATH环境变量包括/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin: ,冒号为分隔符。所以我们可以将node和npm链接到/usr/local/bin 目录下如下执行
1 2 |
|
通过如此,就可以访问Node了,同时node部署也已经完毕。
环境变量配置。
在node目录下执行pwd 获取node所在的目录,要把这个目录添加到PATH环境变量
参见博客:
这样配置完,在其他任意目录都可以访问node/npm
此时hexo有效了
2 知识点/遗留问题
sudo apt-get install nodejs 这样获取过来的nodejs 是什么版本?
su切换到root 认证失效的密码重置解决方案? sudo passwd
如果是下载source包,怎么去编译?
怎么去配置环境变量?
软连接方式?
...