详解如何在ubuntu上安装nodejs
发布于 13 年前 作者 tieqixia 78552 次浏览 最后一次编辑是 8 年前

折腾了两天晚上,终于把nodejs在unbuntu装好了,此间各种坎坷,记录于此,造福后来人。 <br/><h2>第一步:安装依赖包</h2> <br/>1. 安装python 2.6版或者更高(ubuntu默认都已安装,可以在terminal中使用 pyhton -v 命令查看python版本)。 <br/>2. 安装其他依赖包: <br/>sudo apt-get install g++ curl libssl-dev apache2-utils <br/>3. 安装git工具: <br/>sudo apt-get install git-core <br/><h2>第二步:获取源码</h2> <br/>git clone git://github.com/joyent/node.git <br/>等待下载完成,大小为20+m。 <br/><h2>第三步:指定编译版本,重要!</h2> <br/>1.先进入存放下载源码的文件夹: <br/>cd node <br/>2. 指定迁出版本: <br/>git checkout v0.4.10 <br/>这里非常重要,因为目前最新的node版本为0.5.5-pre,但是很多常用的包仅支持到0.4.10(比如express),所以如果使用最新版node的话,会导致npm无法下载相应的包。 <br/>3. 指定路径,编译执行: <br/>mkdir ~/local <br/>./configure –prefix=$HOME/local/node <br/>make <br/>make install <br/>echo ‘export PATH=$HOME/local/node/bin:$PATH’ >> ~/.profile <br/>echo ‘export NODE_PATH=$HOME/local/node:$HOME/local/node/lib/node_modules’ >> ~/.profile <br/>source ~/.profile <br/><h2>第四步:设置环境变量</h2> <br/>如果想重启后还能继续直接使用node命令,那么需要设置环境变量: <br/>使用命令 sudo gedit /etc/profile 打开配置文件,在文件最后中添加如下两行: <br/>export PATH=”$HOME/local/node/bin:$PATH” <br/>export NODE_PATH=”$HOME/local/node:$HOME/local/node/lib/node_modules” <br/>保存后重启系统使设置生效。 <br/><h2>第五步:安装npm</h2> <br/>curl http://npmjs.org/install.sh | sh <br/>根据需要,安装相应的包,例如express: <br/>npm install express <br/>如果输入该命令后长时间没有反应,可以通过添加 -verbose参数查看执行的详细信息,即: <br/>npm install express -verbose <br/>一般情况下无法下载有两个原因: <br/>1. 网速太慢,超时退出。 <br/>2. node的版本太新,当前下载的包不支持。(解决方法在第三步已说明。) <br/><h2>第六步:测试HelloWorld程序</h2> <br/>将以下代码保存为一个hello.js的文件 <br/><div> <br/><div> <br/><table border=“0” cellspacing=“0” cellpadding=“0”> <br/><tbody> <br/><tr> <br/><td> <br/><div>1</div> <br/><div>2</div> <br/><div>3</div> <br/><div>4</div> <br/><div>5</div> <br/><div>6</div></td> <br/><td> <br/><div> <br/><div><pre><code>var</pre></code> <pre><code>http = require(</pre></code><pre><code>‘http’</pre></code><pre><code>);</pre></code></div> <br/><div><pre><code>http.createServer(</pre></code><pre><code>function</pre></code> <pre><code>(req, res) {</pre></code></div> <br/><div><pre><code>  </pre></code><pre><code>res.writeHead(200, {</pre></code><pre><code>‘Content-Type’</pre></code><pre><code>: </pre></code><pre><code>‘text/plain’</pre></code><pre><code>});</pre></code></div> <br/><div><pre><code>  </pre></code><pre><code>res.end(</pre></code><pre><code>‘Hello Node.jsn’</pre></code><pre><code>);</pre></code></div> <br/><div><pre><code>}).listen(8124, </pre></code><pre><code>“127.0.0.1”</pre></code><pre><code>);</pre></code></div> <br/><div><pre><code>console.log(</pre></code><pre><code>‘Server running at http://127.0.0.1:8124/’</pre></code><pre><code>);</pre></code></div> <br/></div></td> <br/></tr> <br/></tbody> <br/></table> <br/></div> <br/></div> <br/>然后使用命令: <br/>node hello.js <br/>启动服务。 <br/>打开浏览器,输入地址:http://127.0.0.1:8124/ <br/>如果返回 Hello Node.jsn 则安装成功! <br/><div> <br/> <br/>想就本文内容同作者进行深入讨论?请在作者的微博留言:<a href=“http://t.sina.com.cn/tieji2pulee” rel=“nofollow” target="_blank">http://t.sina.com.cn/tieji2pulee</a> <br/> <br/></div>

9 回复

build <br/>sudo apt-get -y install build-essential git-core libssl-dev <br/> <br/># nvm <br/>git clone git://github.com/creationix/nvm.git ~/.nvm <br/> <br/># nvm to bashrc <br/>echo ‘. $HOME/.nvm/nvm.sh’ >> ~/.bashrc <br/> <br/># refresh bashrc <br/>. ~/.bashrc <br/> <br/># sync node version <br/>nvm sync <br/> <br/># install version <br/>nvm install v0.5.0 <br/> <br/># install express <br/>npm install -g express

不错,顶! <br/>我上次也在ubuntu上编译安装。。。编译了半天编译不出来。。。 <br/>后来加了prefix参数就可以了。。。默认的好像不行。。。 <br/>./configure –prefix=$HOME/local/node

我刚开始装的也是最新版,后来发现express还不支持,就切回了。

第三步 其实已经配置了环境变量,只不过是 user/.profile 别的用户登录(比如你sudo -s了),node不在是全局可访问,需要指定abs path 。 <br/> <br/>所以你加了第四步,彻底的解决了这个问题,哈哈。

在下新手,麻烦问一下“./configure –prefix=$HOME/local/node” 的那个 杠“-”是怎么输出的?还有就是 安装npm 楼主貌似还说少一步:需要权限“sudo chown -R $USER /usr/local”

@admiral.xml 应该是./configure --prefix=$HOME/local/node

[…] 详解如何在ubuntu上安装nodejs […]

前面的是从原先的 cnodejs.net 转过来的吗? 代码的排版乱了

楼主写的用心,但文字太多!还是看这篇文章的介绍吧: http://howtonode.org/how-to-install-nodejs

回到顶部