我从源安装了节点和 npm,并创建了到我的/usr/local/bin
文件夹的符号链接。
npm 的工作原理类似,但尝试运行 node 时会显示一条烦人的消息,而不是运行可执行文件/usr/local/bin
您可以在这里看到问题:
ubuntu@ip-172-31-31-104:/usr/local/bin$ ls
f2py node npm
mvn nodese tensorboard
ubuntu@ip-172-31-31-104:/usr/local/bin$ npm -v
2.14.20
ubuntu@ip-172-31-31-104:/usr/local/bin$ nodese -v
v4.4.1
ubuntu@ip-172-31-31-104:/usr/local/bin$ node -v
The program 'nodejs' is currently not installed. You can install it by typing:
sudo apt-get install nodejs
ubuntu@ip-172-31-31-104:/usr/local/bin$ ./node
>
(To exit, press ^C again or type .exit)
>
ubuntu@ip-172-31-31-104:/usr/local/bin$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/local/bin
即使node
和nodese
是相同的符号链接,ubuntu 也会首先寻找node
其他地方并打印apt-get
消息。我怎样才能让 Ubuntu 首先查看 $PATH?
编辑
这是 type -a 的输出
type -a node
node is aliased to `nodejs'
node is /usr/local/bin/node
node is /usr/local/bin/node
答案1
从 的输出中可以看出type -a node
,您为节点定义了一个别名。删除它:
unalias node
.bashrc
在您的和其他类似文件中查找别名定义.bash_aliases
,并将其删除。
答案2
您在链接命名方面遇到了问题,node 的别名为 nodejs,它尝试查找(未成功)nodejs,而您的链接名为“node”...解决此问题的简单方法是在 bin 文件夹中创建一个名为 nodejs 而不是 node 的新符号链接
ln -s PATH_TO_YOUR_NODEJS /usr/bin/nodejs