如何在清除后安装npm

时间:2015-12-12 19:01:22

标签: ubuntu npm apt-get

正如我need an updated version of NodeJS,我首先删除旧版本...:

 apt-get remove --purge nodejs
 apt-get remove --purge node
 apt-get autoremove

... after sucess on install last version of NodeJS,我运行了npm安装程序,

 node --version  # now is ok!
 sudo apt-get install npm  # ERROR!!!!

所以,如何在此上下文中安装 npm (在此清除过程之后)

编辑:

PS:正如我通过上面的链接和上面的内联评论所示,nodejs --version没问题,很好,没问题。这个问题是关于npmapt-get ......现在我看到了that part of the answer is here

错误消息same as this similar question

The following packages have unmet dependencies:
 npm : Depends: nodejs but it is not going to be installed
       Depends: node-abbrev (>= 1.0.4) 
       Depends: nodejs-dev
       ...
       Depends: ... but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

2 个答案:

答案 0 :(得分:10)

...没有人说,但问题不在于我的NodeJS或我的UBUNTU,问题就像是sudo apt-get install npm的错误,这个命令带有错误:需要修复邮件。

作为sayd here in similar questionnpm是由现代NodeJS的安装(!!)安装的,所以apt-get必须说“好,没问题,你有一个好的和更新的{{1} }”。

结论:

  1. 仅使用具有正确npm选项的“curl + apt”命令,如此处发布的所有链接中所示。安装setup_N.x也会安装nodejs

  2. 不使用npm,请避免使用它。是一个错误。

  3. 注意:典型的“apt-get install npm”是

    curl + apt

    并且,在使用此安装过程成功后,要检查 curl -sL https://deb.nodesource.com/setup_5.x | sudo -E bash - sudo apt-get install -y nodejs 是否存在,请使用

    npm

    所以,如果显示版本号(如3.3.12),则安装了 npm --version

    重要:要更新npm(例如从3.3.12到3.5.2)不使用npm (!),请使用apt-get本身,

    npm

    2017年编辑

    今天,2017年,在UBUNTU 16 LTS,可能......仅使用 sudo npm install npm -g (最友好的atp}:

    apt-get

    ...但是......这是“缓慢LTS的最新版本”,...检查每个版本(!)......

    针对特定版本选择的逐步 (v6.x如图),this tutorial

    1. sudo apt update sudo apt install nodejs # need it first! sudo apt install npm

    2. curl -sL https://deb.nodesource.com/setup_6.x -o nodesource_setup.sh

    3. sudo bash nodesource_setup.sh

答案 1 :(得分:1)

删除nodejs并修复损坏的包。

public void(List<string> sd)        
{
    // Create a list of lists to store your lists.
    List<List<Item>> lists;

    // We're going to use this variable to refer to our
    // current, not-yet-full list (less than 10 items).
    List<Item> currentList;

    // Create the first list you'll be adding items to,
    // and add it to our list of lists.
    currentList = new List<Item>();
    lists.Add(currentList);

    foreach(var item in sd)
    {
        currentList.Add(new Item { Id = item});

        if(currentList.Count() >= 10)
        {
            // This should look familiar from above :-)
            currentList = new List<Item>();
            lists.Add(currentList);
        }
    }
}

使用PPA安装nodejs

sudo apt-get --purge remove nodejs node npm
sudo apt-get clean
sudo apt-get autoclean
sudo apt-get -f install
sudo apt-get autoremove

为节点创建符号链接,因为许多Node.js工具使用此名称来执行。

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

要从npm编译和安装本机插件,您可能还需要安装构建工具:

sudo ln -s /usr/bin/nodejs /usr/bin/node