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

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

新規登録して質問してみよう
ただいま回答率
85.35%
Vue.js

Vue.jsは、Webアプリケーションのインターフェースを構築するためのオープンソースJavaScriptフレームワークです。

npm

npmは、Node Packaged Modulesの略。Node.jsのライブラリ・パッケージを管理できるツールです。様々なモジュールを簡単にインストールでき、自分でモジュールを作成し公開する際にも使用できます。

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

Q&A

解決済

1回答

6437閲覧

npm installするとgyp ERR! stack Error: Command failed:が出てしまう

bariko

総合スコア31

Vue.js

Vue.jsは、Webアプリケーションのインターフェースを構築するためのオープンソースJavaScriptフレームワークです。

npm

npmは、Node Packaged Modulesの略。Node.jsのライブラリ・パッケージを管理できるツールです。様々なモジュールを簡単にインストールでき、自分でモジュールを作成し公開する際にも使用できます。

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

0グッド

0クリップ

投稿2020/08/02 01:48

laravelとvue.jsのSPAを作る教材をやっています。
laravelのプロジェクトを新規作成して、vue.js環境構築する章に$ npm installをするようにとあるのでやったところ以下のようなエラーが出てしまいます。

教材によるとこの工程はpackage.jsonに記述されているscriptsとdevDependencies、dependenciesを使うために、$ npm installを実行して、必要なライブラリを一括でまとめてインストールしてpackage-lock.jsonというファイルを生成する作業のようです。

terminal

1$ npm install 2npm WARN deprecated urix@0.1.0: Please see https://github.com/lydell/urix#deprecated 3npm WARN deprecated chokidar@2.1.8: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies. 4npm WARN deprecated fsevents@1.2.13: fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2. 5npm WARN deprecated resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated 6 7> fsevents@1.2.13 install /Users/bariko/Documents/laravel_SPA/laravel_vue_quiz/node_modules/fsevents 8> node install.js 9 10gyp ERR! configure error 11gyp ERR! stack Error: Command failed: /anaconda3/bin/python -c import sys; print "%s.%s.%s" % sys.version_info[:3]; 12gyp ERR! stack File "<string>", line 1 13gyp ERR! stack import sys; print "%s.%s.%s" % sys.version_info[:3]; 14gyp ERR! stack ^ 15gyp ERR! stack SyntaxError: invalid syntax 16gyp ERR! stack 17gyp ERR! stack at ChildProcess.exithandler (child_process.js:294:12) 18gyp ERR! stack at ChildProcess.emit (events.js:198:13) 19gyp ERR! stack at maybeClose (internal/child_process.js:982:16) 20gyp ERR! stack at Socket.stream.socket.on (internal/child_process.js:389:11) 21gyp ERR! stack at Socket.emit (events.js:198:13) 22gyp ERR! stack at Pipe._handle.close (net.js:606:12) 23gyp ERR! System Darwin 18.7.0 24gyp ERR! command "/Users/bariko/.nodebrew/node/v10.16.0/bin/node" "/Users/saya/.nodebrew/node/v10.16.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" 25gyp ERR! cwd /Users/bariko/Documents/laravel_SPA/laravel_vue_quiz/node_modules/fsevents 26gyp ERR! node -v v10.16.0 27gyp ERR! node-gyp -v v3.8.0 28gyp ERR! not ok 29npm notice created a lockfile as package-lock.json. You should commit this file. 30added 1044 packages from 497 contributors and audited 1045 packages in 28.335s 31found 1 low severity vulnerability 32 run `npm audit fix` to fix them, or `npm audit` for details

エラー文ではアナコンダがどうの…と言っていますが、確かにアナコンダを入れていますが最近は全く使っていませんし、今回は触ってもいません。

このエラー文が出ても、実際にはpackage-lock.jsonは生成されるのでこのまま先に進んでもいいのかな、とも思うのですが、教材に"失敗した場合は、赤い文字でErrorメッセージが多数出ます。"とあって(でも今回のようなパターンの対処法は載っていない)ので、どうしたらいいのか迷っています。

何か解決の糸口があればご教示いただけますと幸いです。


作業環境
mac0S 10.14.6Mojave
PHP 7.4.8
Larave l6.8
Composer 1.10.9
nodebrew 1.0.1
Node.js 10.16.0

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

gyp ERR! stack File "<string>", line 1

gyp ERR! stack import sys; print "%s.%s.%s" % sys.version_info[:3];
gyp ERR! stack ^
gyp ERR! stack SyntaxError: invalid syntax

python3 では、print 文は使えなくなりました。インストールしようとしている node-gyp が python3 をサポートしていないようです。MacOS にデフォルトで入っている python2 (=/usr/bin/python) を使う必要があります。

エラー文ではアナコンダがどうの…と言っていますが、確かにアナコンダを入れていますが最近は全く使っていませんし、今回は触ってもいません。

おそらく PATH 環境変数に /anaconda3/bin が入っているのでしょう。使う必要がないのであれば、PATH から外せばよいかと思います。python3 を他で使う必要があるのであれば、pyenv などで python2 の仮想環境を作成されれたほうが良いです。

python の仮想環境はPython開発環境の構築によると、 conda で作ることもできます。

conda create -n py27 python=2.7

を実行して仮想環境を作成し、

source activate py27

で activate してください。デフォルトにしたい場合は、 .bash_profile にこれを追加してください。

投稿2020/08/02 02:10

編集2020/08/02 02:22
mit0223

総合スコア3401

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

bariko

2020/08/02 04:15

回答いただきありがとうございました!pyenvの使い方を調べていたところ、追記いただいて本当に助かりました。 送っていただいた京都大学 工学研究科のページで、非アクティブにする方法が出ていますが、npm installが終わったら非アクティブにしてもいいのでしょうか? それとも、このSPAの開発作業を行なっているときは多分gypを使うと思うので(どこに使うのか見当もつきませんが)必ずPython2をアクティブにしてから作業をおこなった方がいいでしょうか? そうであれば、このPCでpythonを使うことがないと思うのでデフォをPython2系にしてしまおうかなと思います。
mit0223

2020/08/02 07:16

おそらく、インストール後も node-gyp は Pythonを使用すると思います。laravel を使うときは pytho2 にしたほうが良いと思います。
bariko

2020/08/02 13:01

ありがとうございます。 .bash_profileを開いて見ました。 2つPython関連と思われる書き込みがあり、よくわからなかったので別の質問を立てますね。 ヒントをいただきありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問