我试图在Ubuntu 12.10 (Quantal Quetzal)上安装Node.js,但终端显示关于丢失包的错误。我试过这样做:

sudo apt-get install python-software-properties
sudo add-apt-repository ppa:chris-lea/node.js
sudo apt-get update
sudo apt-get install nodejs npm

但是当我来到最后一行sudo apt-get install nodejs npm显示这个错误:

Failed to install some packages. This may mean that
you requested an impossible situation or if you are using the distribution
distribution that some required packages have not yet been created or been
been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
nodejs: Conflicts: npm
E: Failed to correct problems, you have held broken packages.

然后我卸载了ppa:chris-lea/node.js,我正在尝试第二种选择:

sudo apt-get install node.js
sudo apt-add-repository ppa:chris-lea/node.js
sudo apt-get update
sudo apt-get install nodejs npm

同样的错误,终端说npm是最新版本,但它也显示了我在顶部显示的文本。我认为问题是ppa:chris-lea/node.js,但我不知道如何解决它。


当前回答

我的apt-get又旧又坏,所以我不得不从源代码安装。以下是对我有效的方法:

# Get the latest version from nodejs.org. At the time of this writing, it was 0.10.24
curl -o ~/node.tar.gz http://nodejs.org/dist/v0.10.24/node-v0.10.24.tar.gz
cd
tar -zxvf node.tar.gz
cd node-v0.6.18
./configure && make && sudo make install

这些步骤主要来自joyent的安装wiki。

其他回答

在Ubuntu 12.10 (Quantal Quetzal)或Ubuntu 14.04 LTS (Trusty Tahr)或Ubuntu 16.04.1 LTS (Xenial Xerus)上安装Node.js。

请避免在Ubuntu上使用apt-get安装Node.js。如果你已经安装了带有内置包管理器的Node.js,请删除它。(sudo apt-get purge nodejs && sudo apt-get autoremove && sudo apt-get autoclean)

Linux操作系统的安装过程与OS X操作系统相同。 使用提供的脚本:

$ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.31.3/install.sh | bash

$ nvm list
$ nvm ls-remote
$ nvm install 6.4.0
$ nvm use 6.4.0
$ nvm alias default 6.4.0
$ node -v
$ npm install -g npm
$ npm -v

安装Node JS时的其他问题

不要使用sudo apt-get install nodejs npm。始终使用sudo apt-get install nodejs

如果你得到错误sudo: add-apt-repository:命令没有找到,只需在上面的第二个命令之前运行这个命令:sudo apt-get install software-properties-common

如果未找到sudo: add-apt-repository:命令,需要在添加存储库前执行sudo apt-get install python-software-properties命令

如果你之前使用的是旧版本,或者控制台中没有node / NPM,请尝试使用bash -r

链接说明已更新为curl - sl https://deb.nodesource.com/setup | sudo bash - sudo apt-get install -y nodejs


编辑更新

对于最新版本,您也可以使用URL nodejs.org/dist/node-latest.tar.gz

还有一件事!不要忘记运行以下命令,该命令将增加inotify监视的数量。

$ echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p

获取最新的Node.js

sudo apt-get install curl
curl -sL https://deb.nodesource.com/setup_13.x | sudo -E bash -

sudo apt-get install nodejs
node -v
npm -v

在最新版本的Node.js中,npm会自动与Node.js一起安装。当你在终端中输入node—version和npm—version时,你会看到什么?

你也可以使用npm本身来升级npm:

[sudo] npm install -g npm

下面是使用express生成器创建第一个程序的完整描述,

Ubuntu的包管理器

通过apt-get安装Node.js和npm,运行这些命令:

sudo apt-get update
sudo apt-get install nodejs
sudo ln -s /usr/bin/nodejs /usr/bin/node
sudo apt-get install npm

快速应用程序生成器:

$ npm install express-generator -g

使用-h选项显示命令选项:

$ express -h

  Usage: express [options] [dir]

  Options:

    -h, --help          output usage information
    -V, --version       output the version number
    -e, --ejs           add ejs engine support (defaults to jade)
        --hbs           add handlebars engine support
    -H, --hogan         add hogan.js engine support
    -c, --css <engine>  add stylesheet <engine> support (less|stylus|compass|sass) (defaults to plain css)
        --git           add .gitignore
    -f, --force         force on non-empty directory

例如,下面在当前工作目录中创建一个名为myapp的Express应用程序:

$ express myapp

   create : myapp
   create : myapp/package.json
   create : myapp/app.js
   create : myapp/public
   create : myapp/public/javascripts
   create : myapp/public/images
   create : myapp/routes
   create : myapp/routes/index.js
   create : myapp/routes/users.js
   create : myapp/public/stylesheets
   create : myapp/public/stylesheets/style.css
   create : myapp/views
   create : myapp/views/index.jade
   create : myapp/views/layout.jade
   create : myapp/views/error.jade
   create : myapp/bin
   create : myapp/bin/www

然后安装依赖项:

$ cd myapp
$ npm install

用下面的命令运行app:

$ DEBUG=myapp:* npm start

然后在浏览器中加载http://localhost:3000/以访问应用程序。

生成的应用程序具有以下目录结构:

├── app.js
├── bin
│   └── www
├── package.json
├── public
│   ├── images
│   ├── javascripts
│   └── stylesheets
│       └── style.css
├── routes
│   ├── index.js
│   └── users.js
└── views
    ├── error.jade
    ├── index.jade
    └── layout.jade

7 directories, 9 files

可以使用nvm安装Node.js。它允许您使用不同的版本而没有冲突。