在Ubuntu 14上打破了Node和NVM安装。任何想法我应该怎么做?

时间:2014-08-19 20:16:14

标签: node.js express nvm

which node

返回

  

/ usr / sbin目录/节点

which nvm

什么都不返回

nvm ls什么都不返回

表达不再有效

如果我尝试curl https://raw.githubusercontent.com/creationix/nvm/v0.11.1/install.sh | bash

它说

  

nvm已安装在/home/adam/.nvm中,尝试更新   => HEAD现在是7a423b7 ... v0.11.1   错误:找不到分支'master'。

确实.nvm就在那里。

知道我应该做什么来卸载所有内容并重新安装或修复我的安装?

2 个答案:

答案 0 :(得分:1)

我通过删除所有内容(清除Ubuntu包并删除node和npm在/ usr / *中创建的所有内容)并从其网站编译节点包来修复此问题。

我复制了来自https://www.digitalocean.com/community/tutorials/how-to-install-an-upstream-version-of-node-js-on-ubuntu-12-04的命令,而不是链接,以防网站脱机:

echo 'export PATH=$HOME/local/bin:$PATH' >> ~/.bashrc
. ~/.bashrc
mkdir ~/local
mkdir ~/node-latest-install
cd ~/node-latest-install
curl http://nodejs.org/dist/node-latest.tar.gz | tar xz --strip-components=1
./configure --prefix=~/local
make install
curl -L https://npmjs.org/install.sh | sh
node -v

非官方的安装脚本是错误的,它是关于他们制作官方存储库或预编译一些.deb文件以使安装更容易的时间。希望这会有所帮助。

答案 1 :(得分:1)

问题是apt-get install nodejs将节点安装为" nodejs"在你的道路上。 Grunt,express等都期望节点在您的路径上为node。原因是在node.js出现之前,在Ubuntu apt存储库中已经有一个名为node的包,因此node.js无法声明" node"。最简单的解决方案是which nodejs然后创建一个针对该文件的符号链接,将其命名为节点,并将其放在您的路径上(您可以将它放在同一目录中)。

对于您,我建议先卸载所有内容(apt-get remove)。