86362
CentOS で `sudo yum install nodejs -y` を実行したところ、  
"問題を回避するために --skip-broken を用いることができます。"  
と出てきます。どすればいいのでしょうか？

```

    読み込んだプラグイン:fastestmirror, langpacks
    Loading mirror speeds from cached hostfile
     * base: ftp.jaist.ac.jp
     * epel: ftp.jaist.ac.jp
     * extras: ftp.jaist.ac.jp
     * updates: ftp.riken.jp
    依存性の解決をしています
    --> トランザクションの確認を実行しています。
    ---> パッケージ nodejs.x86_64 1:6.17.1-1.el7 を 更新
    --> 依存性の処理をしています: nodejs = 1:6.17.1-1.el7 のパッケージ: 1:npm-3.10.10-1.6.17.1.1.el7.x86_64
    ---> パッケージ nodejs.x86_64 2:8.17.0-1nodesource を アップデート
    --> トランザクションの確認を実行しています。
    ---> パッケージ npm.x86_64 1:3.10.10-1.6.17.1.1.el7 を 更新
    ---> パッケージ npm.x86_64 1:8.1.2-1.16.13.2.7.el7 を アップデート
    --> 依存性の処理をしています: nodejs = 1:16.13.2-7.el7 のパッケージ: 1:npm-8.1.2-1.16.13.2.7.el7.x86_64
    --> 依存性解決を終了しました。
    エラー: パッケージ: 1:npm-8.1.2-1.16.13.2.7.el7.x86_64 (epel)
                 要求: nodejs = 1:16.13.2-7.el7
                削除中: 1:nodejs-6.17.1-1.el7.x86_64 (@epel)
                    nodejs = 1:6.17.1-1.el7
                次のものにより更新された: : 2:nodejs-8.17.0-1nodesource.x86_64 (nodesource)
                    nodejs = 2:8.17.0-1nodesource
                利用可能: 1:nodejs-16.13.2-7.el7.x86_64 (epel)
                    nodejs = 1:16.13.2-7.el7
                利用可能: 2:nodejs-8.0.0-1nodesource.el7.centos.x86_64 (nodesource)
                    nodejs = 2:8.0.0-1nodesource.el7.centos
                利用可能: 2:nodejs-8.1.0-1nodesource.el7.centos.x86_64 (nodesource)
                    nodejs = 2:8.1.0-1nodesource.el7.centos
                利用可能: 2:nodejs-8.1.1-1nodesource.el7.centos.x86_64 (nodesource)
                    nodejs = 2:8.1.1-1nodesource.el7.centos
                利用可能: 2:nodejs-8.1.2-1nodesource.el7.centos.x86_64 (nodesource)
                    nodejs = 2:8.1.2-1nodesource.el7.centos
                利用可能: 2:nodejs-8.1.3-1nodesource.el7.centos.x86_64 (nodesource)
                    nodejs = 2:8.1.3-1nodesource.el7.centos
                利用可能: 2:nodejs-8.1.4-1nodesource.el7.centos.x86_64 (nodesource)
                    nodejs = 2:8.1.4-1nodesource.el7.centos
                利用可能: 2:nodejs-8.2.0-1nodesource.el7.centos.x86_64 (nodesource)
                    nodejs = 2:8.2.0-1nodesource.el7.centos
                利用可能: 2:nodejs-8.2.1-1nodesource.el7.centos.x86_64 (nodesource)
                    nodejs = 2:8.2.1-1nodesource.el7.centos
                利用可能: 2:nodejs-8.3.0-1nodesource.el7.centos.x86_64 (nodesource)
                    nodejs = 2:8.3.0-1nodesource.el7.centos
                利用可能: 2:nodejs-8.4.0-1nodesource.el7.centos.x86_64 (nodesource)
                    nodejs = 2:8.4.0-1nodesource.el7.centos
                利用可能: 2:nodejs-8.5.0-1nodesource.x86_64 (nodesource)
                    nodejs = 2:8.5.0-1nodesource
                利用可能: 2:nodejs-8.6.0-1nodesource.x86_64 (nodesource)
                    nodejs = 2:8.6.0-1nodesource
                利用可能: 2:nodejs-8.7.0-1nodesource.x86_64 (nodesource)
                    nodejs = 2:8.7.0-1nodesource
                利用可能: 2:nodejs-8.8.0-1nodesource.x86_64 (nodesource)
                    nodejs = 2:8.8.0-1nodesource
                利用可能: 2:nodejs-8.8.1-1nodesource.x86_64 (nodesource)
                    nodejs = 2:8.8.1-1nodesource
                利用可能: 2:nodejs-8.9.0-1nodesource.x86_64 (nodesource)
                    nodejs = 2:8.9.0-1nodesource
                利用可能: 2:nodejs-8.9.1-1nodesource.x86_64 (nodesource)
                    nodejs = 2:8.9.1-1nodesource
                利用可能: 2:nodejs-8.9.2-1nodesource.x86_64 (nodesource)
                    nodejs = 2:8.9.2-1nodesource
                利用可能: 2:nodejs-8.9.3-1nodesource.x86_64 (nodesource)
                    nodejs = 2:8.9.3-1nodesource
                利用可能: 2:nodejs-8.9.4-1nodesource.x86_64 (nodesource)
                    nodejs = 2:8.9.4-1nodesource
                利用可能: 2:nodejs-8.10.0-1nodesource.x86_64 (nodesource)
                    nodejs = 2:8.10.0-1nodesource
                利用可能: 2:nodejs-8.11.0-1nodesource.x86_64 (nodesource)
                    nodejs = 2:8.11.0-1nodesource
                利用可能: 2:nodejs-8.11.1-1nodesource.x86_64 (nodesource)
                    nodejs = 2:8.11.1-1nodesource
                利用可能: 2:nodejs-8.11.2-1nodesource.x86_64 (nodesource)
                    nodejs = 2:8.11.2-1nodesource
                利用可能: 2:nodejs-8.11.3-1nodesource.x86_64 (nodesource)
                    nodejs = 2:8.11.3-1nodesource
                利用可能: 2:nodejs-8.11.4-1nodesource.x86_64 (nodesource)
                    nodejs = 2:8.11.4-1nodesource
                利用可能: 2:nodejs-8.12.0-1nodesource.x86_64 (nodesource)
                    nodejs = 2:8.12.0-1nodesource
                利用可能: 2:nodejs-8.13.0-1nodesource.x86_64 (nodesource)
                    nodejs = 2:8.13.0-1nodesource
                利用可能: 2:nodejs-8.14.0-1nodesource.x86_64 (nodesource)
                    nodejs = 2:8.14.0-1nodesource
                利用可能: 2:nodejs-8.14.1-1nodesource.x86_64 (nodesource)
                    nodejs = 2:8.14.1-1nodesource
                利用可能: 2:nodejs-8.15.0-1nodesource.x86_64 (nodesource)
                    nodejs = 2:8.15.0-1nodesource
                利用可能: 2:nodejs-8.15.1-1nodesource.x86_64 (nodesource)
                    nodejs = 2:8.15.1-1nodesource
                利用可能: 2:nodejs-8.16.0-1nodesource.x86_64 (nodesource)
                    nodejs = 2:8.16.0-1nodesource
                利用可能: 2:nodejs-8.16.1-1nodesource.x86_64 (nodesource)
                    nodejs = 2:8.16.1-1nodesource
                利用可能: 2:nodejs-8.16.2-1nodesource.x86_64 (nodesource)
                    nodejs = 2:8.16.2-1nodesource
     問題を回避するために --skip-broken を用いることができます。
    
```

* * *

追記  
`yum list nodejs`  
の実行結果

```

    $ yum list nodejs
    読み込んだプラグイン:fastestmirror, langpacks
    Determining fastest mirrors
     * base: ftp.jaist.ac.jp
     * epel: ftp.jaist.ac.jp
     * extras: ftp.jaist.ac.jp
     * updates: ftp.riken.jp
    google-chrome                                                               3/3
    slack                                                                     81/81
    インストール済みパッケージ
    nodejs.x86_64                  1:6.17.1-1.el7                         @epel     
    利用可能なパッケージ
    nodejs.x86_64                  2:8.17.0-1nodesource                   nodesource
    
```

`yum repolist`の実行結果

```

    yum repolist
    読み込んだプラグイン:fastestmirror, langpacks
    Loading mirror speeds from cached hostfile
     * base: ftp.jaist.ac.jp
     * epel: ftp.jaist.ac.jp
     * extras: ftp.jaist.ac.jp
     * updates: ftp.riken.jp
    リポジトリー ID     リポジトリー名                                        状態
    base/7/x86_64       CentOS-7 - Base                                       10,072
    code                Visual Studio Code                                     1,911
    epel/x86_64         Extra Packages for Enterprise Linux 7 - x86_64        13,728
    extras/7/x86_64     CentOS-7 - Extras                                        500
    google-chrome       google-chrome                                              3
    nodesource/x86_64   Node.js Packages for Enterprise Linux 7 - x86_64         119
    slack               slack                                                     81
    updates/7/x86_64    CentOS-7 - Updates                                     3,411
    virtualbox/7/x86_64 Oracle Linux / RHEL / CentOS-7 / x86_64 - VirtualBox     100
    repolist: 29,925
    
    
```

<https://parashuto.com/rriver/tools/updating-node-js-and-npm>  
このサイトの書いてある通りに実行してもエラーが発生しました。

```

     npm audit
    npm ERR! code ENOLOCK
    npm ERR! audit This command requires an existing lockfile.
    npm ERR! audit Try creating one first with: npm i --package-lock-only
    npm ERR! audit Original error: loadVirtual requires existing shrinkwrap file
    
    npm ERR! A complete log of this run can be found in:
    npm ERR!     /root/.npm/_logs/2022-02-15T04_26_48_418Z-debug.log
    
    
```

* * *

追記  
`sudo yum remove nodejs npm`  
を実行したところ、

```

    読み込んだプラグイン:fastestmirror, langpacks
    引数に一致しません: nodejs
    引数に一致しません: npm
    削除対象とマークされたパッケージはありません。
    
```

と出てきましたが、  
node.jsを入れ直すとなぜか上手く？インストール出来たようです。
CC BY-SA 4.0
2022-02-15T02:12:16.567
86344
2022-02-16T06:40:02.133
2022-02-16T06:40:02.133
50834
50834
question
linux node.js centos
node.js のインストールがうまくできない
nodesource のリポジトリを追加した際に恐らく何らかの警告が表示されていたかと思いますが、  
既に別のリポジトリ (EPEL) から node.js / npm パッケージがインストールされているのが原因です。

まずは既存のインストール済みパッケージをアンインストールしてください。  
(必要に応じてバックアップ等を事前に実施してください)

```

    $ sudo yum remove nodejs npm
    
```

その後、改めて nodejs パッケージをインストールします。

```

    $ sudo yum install nodejs
    
```

場合によっては EPEL リポジトリを一時的に無効にした方がよいかもしれません。

```

    $ sudo yum --disablerepo=epel install nodejs
    
```
CC BY-SA 4.0
2022-02-15T07:24:56.873
86362
2022-02-15T07:24:56.873
3060
86344
answer