Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ubuntu 12.04上的nodejs vs node_Javascript_Node.js_Ubuntu_Serverside Javascript - Fatal编程技术网

Javascript ubuntu 12.04上的nodejs vs node

Javascript ubuntu 12.04上的nodejs vs node,javascript,node.js,ubuntu,serverside-javascript,Javascript,Node.js,Ubuntu,Serverside Javascript,我根据给出的说明在ubuntu上安装了nodejs 当我在终端中写入节点--version时,我看到这样一个: -bash:/usr/sbin/node:没有这样的文件或目录 不过,我可以在/usr/sbin/目录中看到节点 编写npm--version显示1.3.5 编写nodejs--version显示v0.10.15 另外,我可以在/usr/bin/目录中看到节点 那么,如何让节点工作 另外,如果我使用zsh而不是bash,那么node命令也可以工作。您需要手动创建一个符号链接/usr/b

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

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

不过,我可以在
/usr/sbin/
目录中看到节点

编写
npm--version
显示
1.3.5

编写
nodejs--version
显示
v0.10.15

另外,我可以在
/usr/bin/
目录中看到节点

那么,如何让
节点
工作


另外,如果我使用zsh而不是bash,那么
node
命令也可以工作。

您需要手动创建一个符号链接
/usr/bin/node
。bash兼容shell的快捷方式:

sudo ln -s `which nodejs` /usr/bin/node
或者,如果使用非标准shell,只需使用
哪个节点对找到的路径进行硬编码即可:

sudo ln -s /usr/bin/nodejs /usr/bin/node
以后编辑

我在你发布的链接中找到了这个解释

节点包(业余包无线电节点程序)存在命名冲突,并且nodejs二进制文件已从node重命名为nodejs。您需要将/usr/bin/node符号链接到/usr/bin/nodejs,或者您可以卸载业余包无线电节点程序以避免冲突

以后编辑

我已经有一段时间没有回答这个问题了。虽然我在这里发布的解决方案多次对我有效,但用户在评论中报告了更多的解决方案:

来自@user229115

sudo更新备选方案——安装/usr/bin/node-node/usr/bin/nodejs 10

来自AskUbuntu(用户leftium)

我想是这样的:

sudo update-alternatives --install /usr/bin/node node /usr/bin/nodejs 10 sudo更新替代方案--安装/usr/bin/node/usr/bin/nodejs 10
使用Debian替代方案。

显然,Ubuntu版本之间的解决方案有所不同。以下是我在Ubuntu 13.10上的工作:

sudo apt-get install nodejs-legacy

编辑:经验法则:

如果您安装了
nodejs
但缺少
/usr/bin/node
二进制文件,那么也要安装
nodejs legacy
这只会创建缺少的软链接


根据我的测试,Ubuntu 17.10和更高版本在安装了
nodejs
之后已经有了兼容的软链接
/usr/bin/node
,因此这些版本中没有了
nodejs legacy
,因为不再需要它了。

我对这一切都不熟悉,但对我来说,一个简单的别名起了作用:

alias node='env NODE_NO_READLINE=1 rlwrap nodejs'

至少在bash中直接运行东西并执行.js文件

对@randunel的正确答案进行补充(目前还不能对此发表评论):

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

sudo ln -s /usr/bin/nodejs /usr/local/bin/node
node -v => 0.10.2
nodejs -v => 5.5.0
显然,这是在重写/usr/bin/node命令


不知道这是怎么设置的,但希望它能帮助其他人,因为这是一种痛苦,以找出为什么上面没有为我工作

我在Ubuntu 14.04中也有同样的问题

我已经安装了“nodejs”,并且它正在工作,但只有在我使用命令“nodejs”的情况下。如果我尝试使用“node”,什么都不会发生

我用下一种方法解决了这个问题:

  • 安装nodejslegacy

    sudo apt-get install nodejs-legacy sudo-apt-get-install-nodejs-legacy
  • 之后,当我在命令行中键入“node”时,会收到一条错误消息“/usr/sbin/node:没有这样的文件或目录”

  • 第二,我所做的,是“nodejs”上的一个符号链接:

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

  • 我已经创建了一个符号链接,但它仍然不起作用


    我忘记重新启动我的终端(我的油灰连接)。在我没有符号链接的情况下,它可以正常工作:)

    延迟回答,但对于最新信息

    如果使用中的推荐方法安装node.js,则建议遵循上的说明,而不是从过期的apt get repo安装,node.js应使用
    node
    命令以及
    nodejs
    命令运行,而无需创建新的符号链接

    第条中的方法是:

    #注意Node.js v0.12的新安装脚本名称
    curl-sLhttps://deb.nodesource.com/setup_0.12 |sudo bash-
    #然后使用以下工具安装:
    sudo apt get安装-y nodejs
    
    请注意,这是针对v0.12的,在不久的将来,它可能会过时

    此外,如果您支持一个公司代理(如我),您将希望在sudo命令中添加-E选项,以保留代理所需的env vars:


    curl-sLhttps://deb.nodesource.com/setup_0.12 |sudo-ebash-

    这也发生在我身上

    sudo ln -s /usr/bin/nodejs /usr/local/bin/node
    
    node -v => 0.10.2
    nodejs -v => 5.5.0
    
    问题是我不久前从源代码安装了node。运行

    which node
    
    始终指向此本地安装。而且

    echo NODE_PATH
    
    指向本地安装

    使用源安装删除目录没有帮助。它刚刚破坏了node命令。最后,取消设置NODE_PATH环境变量并清除,然后重新安装nodejs就成功了

    unset NODE_PATH
    sudo apt-get --purge remove nodejs
    sudo apt-get install nodejs
    
    此后,

    node -v => 5.5.0
    
    根据Node=>5.0的不同,npm安装开始对软件包起作用。

    这对我来说很有用:

    alias node=nodejs
    
    按照链接中的说明操作。

    节点版本管理器(nvm) 如果您想安装多个nodejs版本并在它们之间轻松切换,我建议使用。它还解决了命名问题(
    node
    vs
    nodejs

    很简单:

    安装nodejs版本:

    $ nvm install 4.4
    
    现在,除了已经安装的版本外,您还有nodejs 4.4,您只需使用
    node
    命令即可达到新安装的版本:

    $ node -v    // The new version added by nvm.
    v4.4.5
    $ nodejs -v  // The OS version is untouched and still available.
    v0.10.25
    
    您可以安装更多的nodejs版本,并在它们之间轻松切换:

    $ nvm install 6.2
    $ nvm use 6.2
    Now using node v6.2.1 (npm v3.9.3)
    $ node -v
    v6.2.1
    $ nvm use 4.4
    Now using node v4.4.5 (npm v2.15.5)
    

    我也有同样的问题,符号链接帮了我: sudo ln-s/usr/bin/nodejs/usr/bin/node 之后 sudo npm安装-g phantomjs预构建


    顺利进行

    安装nodejs的最佳方法是通过NVM(节点版本管理器)

    删除以前的版本:

    $ sudo apt-get purge node

    然后

    $curl-o-https://raw.githubusercontent.com/creationix/nvm/v0.31.7/install.sh |猛击 或

    $w $ sudo apt autoremove $ sudo su $ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.31.7/install.sh | bash $ wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.31.7/install.sh | bash $ source ~/.profile $ nvm ls-remote $ sudo apt-get install git $ nvm ls-remote $ sudo nvm ls-remote $ nvm install version-you-require # node --version nvm use version-you-require https://www.digitalocean.com/community/tutorials/how-to-install-node-js-with-nvm-node-version-manager-on-a-vps
    curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash -
    sudo apt-get install -y nodejs
    
    curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
    sudo apt-get install -y nodejs
    
    curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash -
    sudo apt-get install -y nodejs
    
    sudo apt install -y build-essential
    
    sudo apt-get update sudo apt-get --purge remove node -y sudo apt-get --purge remove nodejs -y sudo apt-get --purge remove legacy-node -y sudo rm /usr/bin/node curl -sL https://deb.nodesource.com/setup_6.x | sudo bash - sudo apt-get install nodejs -y node -v sudo ln -s /usr/bin/nodejs /usr/bin/node
    curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash -
    sudo apt-get install -y nodejs
    
    nvm install NEW_VER
    nvm use XXX
    
    nvm use OLD_VER
    
    scl enable rh-nodejs8 bash
    
    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