nginx をインストールしようとすると dpkg エラーが発生する

nginx をインストールしようとすると dpkg エラーが発生する

nginx をインストールしようとしています:

  1. 初め:

    sudo curl -sL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
    

    結果:

    すべて問題ないようです:

    > ## Run `sudo apt-get install -y nodejs` to install Node.js 16.x and npm
    > ## You may also need development tools to build native addons:
    >      sudo apt-get install gcc g++ make
    > ## To install the Yarn package manager, run:
    >      curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | gpg --dearmor | sudo tee /usr/share/keyrings/yarnkey.gpg >/dev/null
    >      echo "deb [signed-by=/usr/share/keyrings/yarnkey.gpg] https://dl.yarnpkg.com/debian stable main" | sudo tee
    > /etc/apt/sources.list.d/yarn.list
    >      sudo apt-get update && sudo apt-get install yarn
    
  2. それから:

    sudo apt install -y nodejs nano nginx
    

    大丈夫そうだけど走るように言われたapt --fix-broken install

    You might want to run 'apt --fix-broken install' to correct these.
    The following packages have unmet dependencies:
     nginx : Depends: nginx-core (< 1.18.0-6ubuntu11.1~) but it is not going to be installed or
                      nginx-full (< 1.18.0-6ubuntu11.1~) but it is not going to be installed or
                      nginx-light (< 1.18.0-6ubuntu11.1~) but it is not going to be installed or
                      nginx-extras (< 1.18.0-6ubuntu11.1~) but it is not going to be installed
             Depends: nginx-core (>= 1.18.0-6ubuntu11) but it is not going to be installed or
                      nginx-full (>= 1.18.0-6ubuntu11) but it is not going to be installed or
                      nginx-light (>= 1.18.0-6ubuntu11) but it is not going to be installed or
                      nginx-extras (>= 1.18.0-6ubuntu11) but it is not going to be installed
    E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).
    
  3. 走る:

    apt --fix-broken install`
    

    エラーがあります:

    dpkg: error processing archive /var/cache/apt/archives/nodejs_16.13.0-deb-1nodesource1_amd64.deb (--unpack):
     trying to overwrite '/usr/share/doc/nodejs/api/fs.html', which is also in package nodejs-doc 12.22.5~dfsg-5ubuntu1
    dpkg-deb: error: paste subprocess was killed by signal (Broken pipe)
    Errors were encountered while processing:
     /var/cache/apt/archives/nodejs_16.13.0-deb-1nodesource1_amd64.deb
    needrestart is being skipped since dpkg has failed
    E: Sub-process /usr/bin/dpkg returned an error code (1)
    

次に何をすればいいのか分からないが、nginxがインストールされていないようだ

答え1

すらできなかったとおっしゃっていましたapt-get install nginx。私も同じ問題を抱えていましたが、私の場合は、既存の nginx のインスタンスをすべて手動で削除するまでアンインストールすらできませんでした。以前、nginx をインストールしようとしたことがあるようですが、覚えておらず、インストールがめちゃくちゃになってしまいました。試してみてください。

$ whereis nginx
nginx: /usr/sbin/nginx /usr/lib/nginx /usr/share/nginx /usr/share/man/man8/nginx.8.gz

私がやったことは、それらすべてを強制的に削除しrm -rf、見つかった既存のシンボリック リンクを削除することでした。その後、ようやく、あなたが言及したすべての nginx 関連パッケージをアンインストールし、実際に nginx を再インストールすることができました。

wget https://launchpad.net/ubuntu/+archive/primary/+sourcefiles/nginx/1.18.0-6ubuntu11/nginx_1.18.0.orig.tar.gz
# extract
cd nginx_1.18.0.orig/nginx-1.18.0/
./configure
make

ソースからインストールしました (以前のものをすべて削除する前にはできませんでした) が、これも使用できるはずですapt-get install nginx

関連情報