きゃんブロ

きゃんなブログ

【fly.ioへデプロイ】nodeダウンロード時のエラー解消

fly deployにアプリをデプロイしようとしたらエラーが発生した。

 => ERROR [base 5/5] RUN curl -sL https://github.com/nodenv/node-build/archive/master.tar.gz | tar xz -C /tmp/ &&     /tmp/node-build-master/bin/node-build "18.16.0" /usr/local/node &&     rm -rf /tmp/node  354.3s
------                                                                                                                                                                                                                
 > [base 5/5] RUN curl -sL https://github.com/nodenv/node-build/archive/master.tar.gz | tar xz -C /tmp/ &&     /tmp/node-build-master/bin/node-build "18.16.0" /usr/local/node &&     rm -rf /tmp/node-build-master:  
#11 1.099 Downloading node-v18.16.0-linux-x64.tar.gz...
#11 1.100 -> https://nodejs.org/dist/v18.16.0/node-v18.16.0-linux-x64.tar.gz
#11 354.3 error: failed to download node-v18.16.0-linux-x64.tar.gz
#11 354.3 
#11 354.3 BUILD FAILED (Debian GNU/Linux 11 using node-build 4.9.120)
#11 354.3 
#11 354.3 Binary installation failed; try compiling from source with `--compile` flag
#11 354.3 
#11 354.3 Inspect or clean up the working tree at /tmp/node-build.20230824140728.14.s7oM6e
#11 354.3 Results logged to /tmp/node-build.20230824140728.14.log
#11 354.3 
#11 354.3 Last 10 log lines:
#11 354.3 /tmp/node-build.20230824140728.14.s7oM6e /rails
#11 354.3 curl: (18) transfer closed with 34635278 bytes remaining to read
------
Error: failed to fetch an image or build from source: error building: executor failed running [/bin/sh -c curl -sL https://github.com/nodenv/node-build/archive/master.tar.gz | tar xz -C /tmp/ &&     /tmp/node-build-master/bin/node-build "${NODE_VERSION}" /usr/local/node &&     rm -rf /tmp/node-build-master]: exit code: 1

error: failed to download node-v18.16.0-linux-x64.tar.gzとのこと。 nodeダウンロード時にエラーが発生しているようだ。

もしかしてバージョンがまた更新されたのかも、と思いバージョンを確認してみる。

> nvm ls-remote
       v18.17.1   (Latest LTS: Hydrogen)

当時安定版だったv18.16.0を使用していたが、安定版がv18.17.1に変更されてる。

v18.17.1に更新する。

> nvm install v18.17.1

nvm lsできちんとインストールされたか確認。

> nvm ls
       v16.13.0
       v16.14.2
        v17.9.0
       v18.16.0
->     v18.17.1
         system
default -> node (-> v18.17.1)
iojs -> N/A (default)
unstable -> N/A (default)
node -> stable (-> v18.17.1) (default)
stable -> 18.17 (-> v18.17.1) (default)
lts/* -> lts/hydrogen (-> v18.17.1)
lts/argon -> v4.9.1 (-> N/A)
lts/boron -> v6.17.1 (-> N/A)
lts/carbon -> v8.17.0 (-> N/A)
lts/dubnium -> v10.24.1 (-> N/A)
lts/erbium -> v12.22.12 (-> N/A)
lts/fermium -> v14.21.3 (-> N/A)
lts/gallium -> v16.20.2 (-> N/A)
lts/hydrogen -> v18.17.1

下記のファイル内の記載を18.16.0から18.17.1に変更。

.node-version
.nvmrc
Dockerfile

これでfly deployすると無事にデプロイできた。

ちなみにここからも安定版の確認とダウンロードができます。 nodejs.org