【发布时间】:2012-11-30 11:39:05
【问题描述】:
有谁知道从源代码安装最新版本是否有风险?我应该坚持使用包管理器吗?
【问题讨论】:
标签: node.js ubuntu package-managers
有谁知道从源代码安装最新版本是否有风险?我应该坚持使用包管理器吗?
【问题讨论】:
标签: node.js ubuntu package-managers
注意:在撰写本文时,我使用的是 Ubuntu 12.10。
安装节点的方法有很多。我个人更喜欢下载最新稳定版本的源代码并将其安装到~/local(您可以通过在./configure 命令中添加--prefix 来做到这一点,如here 所示。真的没有任何“风险”这样做是因为所有内容都安装在与系统其余部分分开的目录中。您可以查看我的系统安装脚本here中的节点配方。我定期运行我的update_node.py脚本来升级我的安装到最新版本。
您也可以按照here 的指示通过包管理器安装最新的稳定版本。我实际上并没有这样做,所以我无法评论它的效果。
我不会从 ubuntu Universe 包中安装节点。您最终会得到一个非常过时的版本(当前为 0.6.19)。
2013 年 1 月 26 日更新:
如果您有兴趣使用您的用户(非 root)帐户安装节点,我强烈建议您阅读 this 博客文章。我跳过了~/.npmrc 步骤,但发现~/.node_modules 符号链接步骤对于使require 正常工作至关重要。
2014 年 12 月 30 日更新:
我已经迁移到使用 linux mint 并进行二进制节点安装。如果您有兴趣编写自己的安装脚本,可以找到我目前的一个here。具体看看我在node.sh 中所做的事情。 execute 函数在第一次安装期间运行,因此它执行诸如配置 .bashrc 中的路径之类的操作。 install 函数由update-node.sh 运行,用于删除现有安装并添加新安装(最新版本或用户指定的版本)。
2016 年 1 月 8 日更新:
我刚刚切换到使用nvm。只需安装脚本,然后运行nvm install node 即可获得最新版本。这似乎是使用您的用户帐户安装节点的绝佳方式。
【讨论】:
software-properties-common 才能使 add-apt-repository 工作。在 Ubuntu Core 12.10 上测试
sudo add-apt-repository ppa:chris-lea/node.js 然后重新安装了节点和npm,现在一切正常。我想更好地了解正在发生的事情,但它现在正在工作,所以我暂时不谈。
另一个选项是 nvm(节点版本管理器):https://github.com/creationix/nvm
它让您可以轻松地在版本之间切换。
【讨论】:
nvm 以使整个系统可以访问 node 的任何信息? (例如以 root 身份安装)
虽然我生活在 .rpm 而不是 .deb 领域,但fpm 可以两者兼得(需要安装 Ruby)。我已经能够从最新的稳定源打包 node.js,没有任何重大困难。在您的情况下,以下情况可能会有所帮助:
./configure --prefix=/usr
make
mkdir -p /tmp/nodejs
make install DESTDIR=/tmp/nodejs
fpm -s dir -t deb -n nodejs -v 0.8.15 -p nodejs-0.8.15.deb -C /tmp/nodejs usr
【讨论】: