質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

89.05%

rails new {~~~} が正しく実行されない。「Node.jsが古い」と出るが、解決方法がわからない。

受付中

回答 3

投稿

  • 評価
  • クリップ 0
  • VIEW 135

tom_777

score 0

前提・実現したいこと

3日前にrailsの学習を始めましたが、エラーで進めなくて困っています。

[rails new {~~~}]コマンドで新しいプロジェクトを開始しようとしたのですが、
下記のようなエラーが発生します。(作成自体はできるのですが、その後がうまくいかなくなってしまいます)

ここで、「Node.jsが古いよ」と言われていることはわかったので、
Node.jsをインストールしたのですが、ターミナルを開き直してもバージョンが「v 0.10.48」のままで更新されません。
(ホストOS? 上では Node v14.5.0となっており、正しくインストールできているようです)

おそらく、ローカル開発環境にも正しくNode.jsをインストールしなければいけないのだと思いますが、
その方法がわかりません。

ググってみて、何個か試してみたのですが、一向にNodeのバージョンが更新されません。
(例: pkgからインストールしたNode.jsをアンストし、再度Homebrew, nodebrewを用いてNode.jsをインストール )
(例: ローカル開発環境でnvmを用いて、Node.jsの取得)

ご教授よろしくお願いいたします。

発生している問題・エラーメッセージ

[vagrant@localhost rails_lessons]$ rails new myapp
      create  
      create  README.md
      create  Rakefile
      create  .ruby-version
      create  config.ru
      create  .gitignore
      create  Gemfile
         run  git init from "."
Initialized empty Git repository in /home/vagrant/rails_lessons/myapp/.git/
      create  package.json
      create  app
      create  app/assets/config/manifest.js
      create  app/assets/stylesheets/application.css
      create  app/channels/application_cable/channel.rb
      create  app/channels/application_cable/connection.rb

   ーーー(中略)ーーー

Using webdrivers 4.4.1
Using webpacker 4.2.2
Bundle complete! 17 Gemfile dependencies, 74 gems now installed.
Use `bundle info [gemname]` to see where a bundled gem is installed.
         run  bundle binstubs bundler
The dependency tzinfo-data (>= 0) will be unused by any of the platforms Bundler is installing for. Bundler is installing for ruby but the dependency is only for x86-mingw32, x86-mswin32, x64-mingw32, java. To add those platforms to the bundle, run `bundle lock --add-platform x86-mingw32 x86-mswin32 x64-mingw32 java`.
         run  bundle exec spring binstub --all
* bin/rake: Spring inserted
* bin/rails: Spring inserted
       rails  webpacker:install
**Webpacker requires Node.js >= 8.16.0 and you are using 0.10.48
Please upgrade Node.js https://nodejs.org/en/download/**

試したこと

・pkgからインストールしたNode.jsをアンストし、再度Homebrew, nodebrewを用いてNode.jsをインストール
・ローカル開発環境でnvmを用いて、Node.jsの取得

補足情報(FW/ツールのバージョン)

・ macOS v10.15.5
・ ruby v2.6.5p114
・ Rails v6.0.3.2
・ node v0.10.48

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 3

0

**Webpacker requires Node.js >= 8.16.0 and you are using 0.10.48
node v0.10.48

明らかに古すぎるでしょう。
node.js(v12またはv14)をインストールしてください。

ついでにyarnもインストールしておきましょう。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

0

「Node.jsが古い」と出るが、解決方法がわからない。

NodeJS + npm をワンセットで「バージョン」を考える必要があります。

  1. 仮想環境で毎回ゼロからインストールするような開発手法にする
  2. 同じマシンで複数のバージョンをインストールし、切り替える手法にする
    バージョン管理ツールが幾つかありますので利用をご検討ください。
    Google検索:NodeJS バージョン管理 などで調査できるはずです。
    NodeJS のリリースサイクル を参考に、管理ツールでインストール状況をメンテナンスする形になると思います。

※私の場合、RaspberryPi (Debian系Linux)上では n というツールを使っています。
Google検索:NodeJS npm n

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

0

Vagrant内で rails new を実行するのであれば、VM内にNodeをインストールする必要があります。
例えばUbuntuであれば

$ sudo curl -sL https://deb.nodesource.com/setup_14.x | bash -
$ sudo apt-get install -y nodejs

でNodeのv14がインストールできるかと思います。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 89.05%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る

  • トップ
  • Rubyに関する質問
  • rails new {~~~} が正しく実行されない。「Node.jsが古い」と出るが、解決方法がわからない。