14
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

NODE_MODULE_VERSION が違うといわれて npm run dev 等できない時の対策

Last updated at Posted at 2018-09-19

メモ。
エラーメッセージを読んで理解できればすぐわかるけど、 理解が浅いため「Node.jsのバージョンがNODE_MODULE_VERSIONと関連している」と思っておらず、エラーを読んですぐ対策にたどり着かなかった。(Node.jsとNODE_MODULE_VERSIONを別で用意する必要があると思っていたなど)

エラー:

Error: The module '/BOKU/NO/APPLICATION/node_modules/scrypt/build/Release/scrypt.node'
was compiled against a different Node.js version using NODE_MODULE_VERSION 64. This version of Node.js requires NODE_MODULE_VERSION 57. Please try re-compiling or re-installing the module (for instance, using `npm rebuild` or `npm install`).

なお、 Please try re-compiling or re-installing the module (for instance, using npm rebuild or npm install). と書いてある通り、 僕のプロジェクトを npm rebuildnpm install しただけではだめだった。(後から読んだら、もしかしたらscryptをrebuildしろという意味だったかもしれないと気が付いた。主語が抜けているせいでよく分からない。)

原因

  • エラーが出たときに使っていたNode.jsのバージョンは10.0であった。
  • 使用している scrypt で利用すべき NODE_MODULE_VERSION が 57 であった。
  • Node.js 10.0 の NODE_MODULE_VERSION は 64 であった。
  • そのため、 NODE_MODULE_VERSION のバージョンが異なり、上記に書いてあるエラーがでた。

対策(もう一度Buildする方)

Electronを使っている場合は、プロジェクトのフォルダで以下を実行すればよい。

$ ./node_modules/.bin/electron-rebuild

1度やって治らなければ、 ./node_modules 以下を一度削除してからもう一度npm installなりyarnなりして、rebuildすれば治る(僕の場合は)

対策(Node.jsのバージョン変える方)

Node.jsのバージョンを変更すればよい。(変更後、node_modules内を削除した方がよいみたい)

具体的には、 Node.jsのリリース一覧 で、 NODE_MODULE_VERSION が 57のNode.jsを選べば良い。
(別のバージョンを指定されている場合は、その数字にあったものを選べば良い)

以下はnodebrewを利用しているときの例:


$ nodebrew list
v10.0.0

current: v10.0.0

 15:09:52  keisuke@MBP15-YKEISUKE  ~  ♦️ 2.3.3  🐍 2.7.14  ⬡ v10.0.0 
$ nodebrew install 8.12.0
Fetching: https://nodejs.org/dist/v8.12.0/node-v8.12.0-darwin-x64.tar.gz
######################################################################## 100.0%
Installed successfully

 15:15:42  ✘  keisuke@MBP15-YKEISUKE  ~  ♦️ 2.3.3  🐍 2.7.14  ⬡ v10.0.0 
$ nodebrew list
v8.12.0
v10.0.0

current: v10.0.0

 15:15:45  keisuke@MBP15-YKEISUKE  ~  ♦️ 2.3.3  🐍 2.7.14  ⬡ v10.0.0 
$ nodebrew use 8.12.0
use v8.12.0

 15:15:59  keisuke@MBP15-YKEISUKE  ~  ♦️ 2.3.3  🐍 2.7.14  ⬡ v8.12.0 
$ node --version
v8.12.0
14
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?