我根据这里给出的说明在ubuntu上安装了nodejs

当我在终端中写入node——version时,我看到: -bash: /usr/sbin/node:没有这样的文件或目录

不过,我可以在/usr/sbin/目录中看到node。

编写npm——版本显示为1.3.5 编写nodejs——version显示v0.10.15

此外,我可以在/usr/bin/目录中看到node。

那么,我如何让节点工作呢?

此外,如果我使用zsh而不是bash,那么节点命令就可以工作。


当前回答

对绝对初学者有帮助吗

虽然你已经得到了答案,但只是想指出node命令(不带任何参数)将以REPL read-eval-print-loop模式启动node以执行原始javascript代码。

使用node命令的另一种方法是提供一个js文件作为参数。这是我们最常用的方法。

其他回答

对绝对初学者有帮助吗

虽然你已经得到了答案,但只是想指出node命令(不带任何参数)将以REPL read-eval-print-loop模式启动node以执行原始javascript代码。

使用node命令的另一种方法是提供一个js文件作为参数。这是我们最常用的方法。

https://nodejs.org/en/download/

Download .pkg file on your mac and install it. it directly works.

➜  ~ which node
/usr/local/bin/node
➜  ~ node --version
v10.11.0
➜  ~ which npm
/usr/local/bin/npm
➜  ~ npm --version
6.4.1

添加到@randunel的正确答案(还不能评论SO):

我还必须将/usr/local/bin/node符号链接到/usr/bin/nodejs。

sudo ln -s /usr/bin/nodejs /usr/local/bin/node

显然,这覆盖了/usr/bin/ node命令。

不知道这是如何设置的,但希望它能帮助其他人,因为弄清楚为什么上面的方法对我不起作用是一种痛苦。

这对我来说很管用:

alias node=nodejs

按照这个链接的说明操作。

我对这一切都很陌生,但对我来说,一个简单的别名就可以了:

alias node='env NODE_NO_READLINE=1 rlwrap nodejs'

至少对于直接在bash中运行和执行.js文件来说是这样。