昨天在 Ubuntu 中安装 nodeJS 时遇到一个问题,在为 npm 设置链接时,总是不生效,特此记录一下,也避免大家踩了相同的坑。
我采用的是源码包安装 nodeJS,将源码包解压后,来到解压的 bin 目录后使用下面的命令查看是否正常,并在确认正常后为其设置软链接。
./node -v
sudo ln ./node /usr/local/bin/node
./npm -v
sudo ln ./npm /usr/local/bin/npm
当设置好链接后,我们来到家目录下,使用 node -v
和 npm -v
查看链接是否生效,结果发现 node 命令正常,但 npm 却不生效。
我们来到 /usr/local/bin 目录下,可以看到 npm 的链接异常
最后,经过大量查资料和反复实践,最后发现出现这种情况的原因是我创建的链接不是软链接而且没有使用绝对路径导致的。
于是我们将原来的链接删除,重新使用绝对路径创建软链接。
sudo ln -s /data/nodejs/node-v14.21.3/bin/node /usr/local/bin/node
sudo ln -s /data/nodejs/node-v14.21.3/bin/npm /usr/local/bin/npm
可以发现,用绝对路径创建的软链接可以正常使用。