- Ubuntu 16.04 安装NodeJS
- NodeJS安装
- Issue Solution
- NPM安装
- node VS nodeJS?
- 系列文章
- 参考文献
更新历史:
- 2017 年 06 月 10 日
- 攒写最初正文
- 2017 年 11 月 05 日
- 添加一些 Issue Solution
Ubuntu 16.04 安装 NodeJS
天哪 Linux 安装 NodeJS 居然也这么麻烦
NodeJS 安装
代码语言:javascript复制curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs
可能会出现找不到 curl
的错误, apt-get
一下curl
就可以了
Issue Solution
注意:
上方执行 curl 可能会报错, 很可能说找不到 curl 这个命令
并且因为 curl 执行失败就会安装到稳定版的 node 而不是最新版的 node
稳定版的 node 很可能无法执行多数程序, 因此一定要保证安装的是最新版
NPM 安装
代码语言:javascript复制curl http://npmjs.org/install.sh | sudo sh
sudo apt-get install curl
node VS nodeJS?
NPM, Node 安装成功后执行:
代码语言:javascript复制node -v
发现报错
代码语言:javascript复制-bash: /usr/sbin/node: No such file or directory
但是可以使用
代码语言:javascript复制nodejs -v
这个问题的原因:
There is a naming conflict with the node package (Amateur Packet Radio Node Program), and the nodejs binary has been renamed from node to nodejs. You'll need to symlink /usr/bin/node to /usr/bin/nodejs or you could uninstall the Amateur Packet Radio Node Program to avoid that conflict.
当然直接用nodejs 命令
也可以执行 node 程序, 不过后续如果安装 modules 就会出现node 未定义
的错误
解决方法是添加一个 link:
You need to manually create a symlink
/usr/bin/node
. Shortcut for bash compatible shells: sudo ln -s `which nodejs` /usr/bin/node Or if you use non-standard shells, just hardcode the path you find with which nodejs: sudo ln -s /usr/bin/nodejs /usr/bin/node
NPM: Permission Denied
npm 安装 Hexo 出现问题:
代码语言:javascript复制node scripts/build_highlight_alias.js > highlight_alias.json
sh: 1: cannot create highlight_alias.json: Permission denied
换成 sudo 依然报错.
解决方法见官方 Guide: https://docs.npmjs.com/getting-started/fixing-npm-permissions
系列文章
优雅地乱玩 Linux
参考文献
- https://nodejs.org/en/download/package-manager/#debian-and-ubuntu-based-linux-distributions
- http://www.cnblogs.com/seanlv/archive/2011/09/24/2189719.html
- https://stackoverflow.com/questions/18130164/nodejs-vs-node-on-ubuntu-12-04
- https://github.com/hexojs/hexo-util/issues/9