Linux下卸载与源码编译安装Node.js及npm配置详解
在开发环境中,经常需要彻底卸载旧版Node.js并重新编译安装新版,同时处理npm依赖。本文以Homestead虚拟机和阿里云CentOS为例,记录完整的卸载、编译安装、npm配置以及淘宝镜像加速的步骤。一、卸载npm和Node.js
首先彻底移除npm。如果npm本身已安装,执行:
sudo npm uninstall npm -g
然后找到Node.js安装路径。使用 which node 定位到node二进制所在目录,例如 /usr/local/bin/node,那么Node.js的相关文件通常位于该目录的上层。手动删除所有Node.js添加的文件:
cd /usr/local
rm -rf bin/node bin/node-waf include/node lib/node lib/pkgconfig/nodejs.pc share/man/man1/node.1
如果是Ubuntu系统并通过apt-get安装,可以直接用包管理器卸载:
sudo apt-get remove nodejs
二、下载并编译安装Node.js
前往Node.js官网下载源码。本例使用v6.3.1版本,下载地址为 https://nodejs.org/dist/v6.3.1/node-v6.3.1.tar.gz 。一般将第三方软件安装到 /usr/local 目录下。
使用wget下载:
sudo wget https://nodejs.org/dist/v6.3.1/node-v6.3.1.tar.gz
解压并进入目录:
tar xzvf node-v6.3.1.tar.gz && cd node-v6.3.1
配置、编译和安装:
./configure
make
sudo make install
编译过程耗时较长,请耐心等待。安装完成后验证版本:
node -v
输出应显示 v6.3.1。
三、处理Windows虚拟机(Homestead)中的npm安装问题
在真实Linux服务器上,直接运行 npm install 即可按package.json安装依赖。但在Windows系统上通过Vagrant搭建的Homestead虚拟机中,由于文件系统共享机制,npm install 会因符号链接创建失败而报错。解决方法是在安装时添加 --no-bin-links 参数:
npm install --no-bin-links
四、配置淘宝npm镜像加速
国内网络环境常遇到npm下载慢的问题。可通过两种方式使用淘宝镜像。
方式一:安装cnpm(淘宝npm镜像客户端)
npm install -g cnpm --registry=https://registry.npm.taobao.org
之后所有npm命令可用cnpm替代,例如 cnpm install,cnpm install --global gulp。
方式二:直接设置npm registry为淘宝镜像
npm config set registry https://registry.npm.taobao.org
此方式无需额外工具,后续所有npm命令都从淘宝源拉取包。
需要注意:使用Laravel等PHP框架时,常需gulp等前端构建工具。安装gulp可以通过cnpm或npm + 淘宝源:
cnpm install --global gulp
或
npm config set registry https://registry.npm.taobao.org
npm install --global gulp
经过上述步骤,Node.js和npm环境就重置完成了。在Homestead或阿里云CentOS上均可顺利运行项目依赖安装和前端构建。
Re: Linux下卸载与源码编译安装Node.js及npm配置详解
感谢楼主分享这么详细的教程!正好最近也在折腾Homestead里的node环境,之前一直没找到靠谱的卸载方法,怕删不干净。你写的步骤很清晰,尤其是手动删除文件路径那块,比我自己乱翻目录靠谱多了。 另外,有个小问题想请教一下:现在Node.js已经出到18.x了,编译源码的话,./configure这一步会不会因为系统库版本太低而报错?比如CentOS 7上编译高版本可能需要更新gcc。还有就是如果使用nvm管理版本,是不是能省去手动卸载的麻烦?比较好奇你倾向源码编译还是直接用工具管理~Re: Linux下卸载与源码编译安装Node.js及npm配置详解
很详细的教程,感谢分享!源码编译安装的方式确实能保证环境干净,不过对于新手来说,手动删除文件那一步要格外小心路径,万一删错系统文件就麻烦了。建议也可以提一下用 `nvm` 来管理 Node.js 版本,切换和卸载会更方便,还省去编译等待的时间。另外淘宝镜像现在好像已经有新域名了,可以提醒大家留意更新。总之,这份步骤很实用,收藏了!Re: Linux下卸载与源码编译安装Node.js及npm配置详解
感谢分享!步骤很详细,对需要从源码编译 Node.js 的同学特别有用。有个小建议:现在 Node.js 版本迭代较快,v6.3.1 已经比较老了,如果不需要特定版本,建议使用最新的 LTS 版本;另外也可以考虑用 nvm 管理多版本,省去手动编译的麻烦。不过如果就想体验编译过程或对系统路径有特殊要求,你这篇教程非常实用,尤其是淘宝镜像和 Homestead 里 --no-bin-links 的坑,讲得很清楚,收藏了!
页:
[1]