在linux上安装nodejs和npm

Mar*_*rkB 8 node.js npm

在我的linux服务器上安装nodejs和npm时遇到了一些问题(这是一个运行raspbian的pi).我已经设置并运行了一切

sudo apt-get install nodejs npm
Run Code Online (Sandbox Code Playgroud)

一切都很好,花花公子,直到我发现显然这些版本现在已经老了.所以我删除了它们

sudo apt-get purge nodejs npm
Run Code Online (Sandbox Code Playgroud)

然后我在SO上找到了以下答案(这里)并跑了

curl -sL https://deb.nodesource.com/setup | sudo bash -
sudo apt-get install -y nodejs
Run Code Online (Sandbox Code Playgroud)

运行节点-v有我的版本0.6.19 ...我假设转换为版本6.19而不是版本0.但是,运行npm -v告诉我它没有安装.所以我再次清除了nodejs,并寻找另一种解决方案.此时我决定关注nodejs网站上的内容(这里).我运行了以下命令.

curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash -
sudo apt-get install -y nodejs
Run Code Online (Sandbox Code Playgroud)

sudo apt-get install -y build-essential
Run Code Online (Sandbox Code Playgroud)

2个问题:

1)安装的版本仍为0.6.19.我宁愿使用版本4.x,因为那是我在我的开发机器上运行的(macOS Sierra).

2)我还没有npm.这使得nodejs无用

任何帮助(但最好是2)都会很棒.提前致谢.

Lui*_*lez 18

我真的建议你使用nvm安装node和npm .这是最快,最干净,最简单的方法.

这样,您只需执行以下操作即可安装NVM:

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.31.3/install.sh | bash
Run Code Online (Sandbox Code Playgroud)

要测试nvm是否已正确安装,请关闭并重新打开终端并输入nvm.如果您收到nvm:command not found消息,则您的操作系统可能没有必要的.bash_profile文件.在终端中,输入touch~/.bash_profile并再次运行上面的安装脚本.

您现在可以安装节点类型:

nvm install <version>
Run Code Online (Sandbox Code Playgroud)

例如

nvm install 4.2.1
Run Code Online (Sandbox Code Playgroud)

如果您只想安装最新的节点版本,只需键入即可

nvm install node
Run Code Online (Sandbox Code Playgroud)

为了访问节点和npm作为sudo(为了拥有<1024端口),你应该运行

n=$(which node)
n=${n%/bin/node}
chmod -R 755 $n/bin/* 
sudo cp -r $n/{bin,lib,share} /usr/local 
Run Code Online (Sandbox Code Playgroud)

  • 谢谢@LuisGonzález.我当然欠你一杯啤酒.为什么nvm不是谷歌弹出的第一种方法超出我的范围.超级每个和直截了当. (2认同)
  • 我想补充一点,为了以 sudo 身份访问节点和 npm(为了拥有 &lt;1024 个端口),我必须运行“ n=$(which node);n=${n%/bin/node} ; chmod -R 755 $n/bin/*; sudo cp -r $n/{bin,lib,share} /usr/local " (2认同)
  • 非常感谢你,路易斯!此外,如果您只想安装最新的 node 版本,您只需键入 `nvm install node` 而不是 `&lt;version&gt;`。 (2认同)

小智 9

我在终端中编写了以下命令行,希望它对社区有用。

$ sudo apt install nodejs
$ curl -L https://npmjs.org/install.sh | sudo sh 

Run Code Online (Sandbox Code Playgroud)

祝你好运!