LoginSignup
6
6

More than 3 years have passed since last update.

nodebrewでバージョンを上げた際にグローバルインストールしてたコマンドが無くなる問題への対応

Last updated at Posted at 2019-09-15

結論

nodeのバージョンを上げた後で下記コマンドを実行。

バージョンを上げる前にグローバルインストールしていたコマンド達を、バージョンアップ後のnodeに一括でグローバルインストールしてくれる。

nodebrew migrate-package 11.9.0(適宜置き換え)

11.9.0は今まで使っていたバージョンです。
私の場合は11.9.0から11.10.1にバージョンを上げたので、11.9.0を指定しました。

(助けて貰った記事一覧)

What's happend?

以下、この記事を書こうと思った事象についての日記となります...

(2019/9/15)

本日1週間ぶりにcreate-react-appすると、失敗するようになってました。

依存でインストールされるeslintが要求するnodeのバージョンと私が使用していたnodeのバージョン(11.9.0)が合わなくなった事が原因でした。

なのでnodebrewでnodeのバージョンを上げました。

改めてcreate-react-appすると...

$ create-react-app myapp
-bash: create-react-app: command not found

コマンドが無くなってしまいました...

コマンドの置き場所を確認してみると、
今まで入れてたものが無くなってしまっている...

(before)

$ ls /Users/gossan/.nodebrew/current/bin/
create-react-app    npm         surge
firebase        npx         wscat
gatsby          serverless      yarn
node            sls         yarnpkg
nodebrew        slss

(after)

$ ls /Users/gossan/.nodebrew/current/bin/
node        nodebrew    npm     npx

グローバルインストールしたコマンドは、インストール時のnodeのバージョンに紐づけられるんですね。この時点でやっと気づきました。

一括で引き継ぐためのコマンドが無い筈が無いと思い調べると、
nodebrew migrate-package xx.xx.xx(旧バージョン)で解決するらしい事を発見。

元々11.9.0を使っていたので下記のよう試しました。

$ nodebrew migrate-package 11.9.0

〜(略)〜

Try to install yarn ...
/Users/gossan/.nodebrew/node/v11.10.1/bin/yarnpkg -> /Users/gossan/.nodebrew/node/v11.10.1/lib/node_modules/yarn/bin/yarn.js
/Users/gossan/.nodebrew/node/v11.10.1/bin/yarn -> /Users/gossan/.nodebrew/node/v11.10.1/lib/node_modules/yarn/bin/yarn.js
+ yarn@1.17.3
added 1 package in 0.052s

〜(略)〜

Try to install create-react-app ...
/Users/gossan/.nodebrew/node/v11.10.1/bin/create-react-app -> /Users/gossan/.nodebrew/node/v11.10.1/lib/node_modules/create-react-app/index.js
+ create-react-app@3.1.1
added 1 package in 0.248s

Installed successfully:
serverless
surge
yarn
gatsby-cli
firebase-tools
wscat
create-react-app

11.9.0でグローバルインストールしていたものをグローバルインストールし直してくれているようですね。

改めてグローバルインストールされたコマンドを確認すると、、、

$ ls /Users/gossan/.nodebrew/current/bin/
create-react-app    npm         surge
firebase        npx         wscat
gatsby          serverless      yarn
node            sls         yarnpkg
nodebrew        slss

全部ありました!

元々使いたかったcreate-react-appも復活しました!

6
6
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
6
6