linux 下安装
node.js 官网下载 Linux64位安装包,上传到Linux
解压
tar -xvf node-v14.16.1-linux-x64.tar.xz
创建软连接
ln -s nodejs解压路径/bin/npm /usr/local/bin/npm
ln -s nodejs解压路径/bin/node /usr/local/bin/node
/usr/bin与/usr/local/bin的区别
首先注意usr 指 Unix System Resource,而不是User
然后通常:
/usr/bin下面的都是系统预装的可执行程序,会随着系统升级而改变。
/usr/local/bin目录是给用户放置自己的可执行程序的地方,推荐放在这里,不会被系统升级而覆盖同名文件。
如果两个目录下有相同的可执行程序,谁优先执行受到PATH环境变量的影响,比如我的一台服务器的PATH变量为。
echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
这里/usr/local/bin优先于/usr/bin, 一般都是如此。
root用户 npm install
当你使用root执行npm install的时候,npm为了安全性考虑,将你的uid设置成nobody, nobody权限非常的低,因此postinstall里写的很多脚本nobody都没有权限执行,因此不会造成安全问题
虽然npm可以自动的帮助你在执行lifecycle script的时候降低权限到nobody, 但是如果你自己希望npm不要强制修改你的uid,你可以使用npm install --unsafe-perm
报错 Cannot find module ‘node-sass’
npm install 时 报错 Run npm rebuild node-sass to download the binding for your current environment
或者报错 Node Sass does not yet support your current environment: Linux 64-bit with Unsupported runtime
基本都是npm install node-sass默认node-sass的版本不对
npm install node-sass@4.14.1
我这里需要的版本是 node-sass@4.x