目前建议在Debian上安装node.js的方法是什么?


10

我在网络上找到了几种不同的方法,但是有些文章比较老,我担心它们描述的方法已被取代。

谁能告诉我目前推荐的方法,以最好地利用软件包管理等?

Answers:


16

官方的node.js github页面包含所有发行版的摘要,包括Debian。他们建议从源代码安装:

apt-get install python g++ wget libssl-dev
mkdir /tmp/nodejs && cd /tmp/nodejs
wget http://nodejs.org/dist/node-latest.tar.gz
tar xzvf node-latest.tar.gz && cd node-v*
./configure
make
make test
make install

请记住,从源代码进行安装肯定会为您提供最新的软件,但是,有时要卸载附加到特定项目的所有文件会更加困难。为了避免这种情况,请使用checkinstall自己构建一个快速软件包。

通过遵循此处的指南,我能够在Ubuntu上构建.deb软件包。这可能也应该对Debian也有用;-)



1
感谢您的注意!我已将链接更改为存档版本。(有点有趣的是,该域名目前的网站完全是关于约会的……“要建立一个.deb软件包,只需遵循本指南,了解如何发现您的伴侣在欺骗您,” o_0)
TrinitronX

5

如果要使用生产系统,请注意以下警告!


您可以通过安装的node.js apt-get

# echo deb http://ftp.us.debian.org/debian/ sid main \
    > /etc/apt/sources.list.d/sid.list
# apt-get update
# apt-get install nodejs

警告:话虽如此,由于您正在从Debian的开发分支(Sid)安装软件,因此您不应该这样做。如果您还与生产机器打交道,则应特别注意此警告!!!!


5
应该说,混合使用不同Debian版本的存储库会导致问题,用户应该准备面对。
enzotib 2012年

混合存储库不会导致大问题,但会包含一些版本兼容性问题
Mughil 2012年

好的,谢谢-这将从不稳定版本中安装,对吗?那不是问题吗?
UpTheCreek 2012年

3
这是一个非常糟糕的主意。下次升级系统时,所有内容都会升级到sid。sid不稳定,不利于生产,仅适合Debian专家。Sid休息很多。如果可以的话,我会投票十次。
山姆·沃特金斯2014年

2

您可以通过构建自己的.debs避免混合使用Debian版本(痛苦的秘诀!)。

https://github.com/mark-webster/node-debian

您可以为任意版本的node.js构建.deb文件,因此可以轻松安装/升级/卸载它。这有点快速又肮脏,但至少要等到正式的Debian软件包稳定发布后才行。


该软件包npm也要安装。顺便说一句,这是干净的解决方案
b1_

2

Node.js在Debian Sid和Jessie的官方仓库中可用。

sudo apt-get install nodejs

如果您没有在主存储库中使用该命令(该命令无效),建议使用这种方式从源代码构建:

sudo apt-get install python g++ make checkinstall
mkdir ~/src && cd $_
wget -N http://nodejs.org/dist/node-latest.tar.gz
tar xzvf node-latest.tar.gz && cd node-v*
./configure
checkinstall   #remove the "v" in front of the version number in the dialog!
sudo dpkg -i node_*

卸载:

sudo dpkg -r node

如果您拒绝了node可执行文件的权限,则替代路径可能是:

umask 0022
./configure
make
checkinstall -D --umask 0022 --reset-uids --install=no
dpkg -i node_*.deb

1

要获取最新的稳定节点,可以从程序包管理器中安装它,然后使用进行更新npm

sudo apt-get install nodejs npm 
sudo npm update -g

这是获得最新版本而不花费太多精力的最简单方法。


我发现在执行'npm update -g'后,npm等会损坏,因为它们将包含“#!/ usr / bin / env node”而不是“#!/ usr / bin / env nodejs”(Debian Jessie) 。我认为您最好从源代码进行安装,尤其是如果您要允许npm进行全局更新(将内容丢到/ usr / local /中)
David Goodwin

0

显然我已经找到了解决方案。如果你正面临类似问题, 不使用nodesource脚本在安装Debian的NodeJS。来自nodesource的脚本在主机系统上应该可以正常运行,但是根据我的经验,它正在影响LXC / Docker容器。

手动执行以下操作以安装所需的nodejs版本

对于您的特定版本的Debian / Ubuntu,请将相应的行添加到您的sources.list文件发行名称将是您发行的Debian / Ubuntu的代号。

deb https://deb.nodesource.com/node_8.x/ <release name> main

添加存储库密钥

curl --silent https://deb.nodesource.com/gpgkey/nodesource.gpg.key | sudo apt-key add -

然后做

apt update

apt install nodejs 让我知道,这是否对您有帮助。谢谢

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.