Windows10にVagrantとVirtualBoxでCentOSの仮想環境を構築⑩npm(Node.js)のインストール(はしないで!)
Laravel開発中にnpmを使う機会があったが、そんなコマンドは無い、と出る。
-bash: npm: command not found
1.npmがインストールできているか確認
yum list installed | grep node
→Repodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fast
これが出る。
2.下記を参考にやってみる。
https://mk-55.hatenablog.com/entry/2017/05/06/114622
yum makecache fast
yum clean all
現在利用可能なレポジトリのすべてのキャッシュを削除する
yum makecache fast現在利用可能なレポジトリを確認してキャッシュの一部を更新する
インストールされていない。
3.インストール可能かどうかを調べる
yum list available | grep node
→挙がっているから可能そう。
4.下記を参考に、インストール
https://qiita.com/ousaan/items/881db6ce8cacb2614f5d
sudo yum install nodejs
5.インストール確認
$ node -v
$ npm -v
これでnpm install && npm run devしてみるけど、エラーだらけで失敗。
npm-debug.logを見ろと。
npm update -gしなかったせいかと思い、アンインストール。
[root@localhost vagrant]# npm update npm
[root@localhost vagrant]# npm -v
3.10.10
[root@localhost vagrant]# yum remove nodejs
もう一回インストール
[root@localhost vagrant]# yum install nodejs
[root@localhost vagrant]# node -v
v6.17.1
[root@localhost vagrant]# npm -v
3.10.10
アップデートする
npm update -g
→エラー。
- realize-package-specifier@3.0.3 node_modules/npm/node_modules/realize-package-specifier
/usr/lib
└── (empty)
npm ERR! Linux 3.10.0-1062.9.1.el7.x86_64
npm ERR! argv "/usr/bin/node" "/usr/bin/npm" "update" "-g"
npm ERR! node v6.17.1
npm ERR! npm v3.10.10
npm ERR! path /usr/lib/node_modules/npm/node_modules/fs-write-stream-atomic
npm ERR! code EEXIST
npm ERR! errno -17
npm ERR! syscall mkdir
npm ERR! EEXIST: file already exists, mkdir '/usr/lib/node_modules/npm/node_modules/fs-write-stream-atomic'
npm ERR! File exists: /usr/lib/node_modules/npm/node_modules/fs-write-stream-atomic
npm ERR! Move it away, and try again.
エラーが出た後、npmコマンドすら使えなくなってしまった。
# npm -v
bash: /usr/bin/npm: No such file or directory
npmはインストールできているらしい。
argv は argument vector(引数の配列)
winston.silly('ばかばかしいこと');
winston.debug('かいはつのこと');
winston.verbose('どうでもいいこと');
winston.info('じょうほう');
winston.warn('やばい');
winston.error('すごくやばい');
もう一回アンインストールしてみる。
インストールしてみる。
npm cache clean
https://kaoru2012.blogspot.com/2015/09/tarunpack-untar-error.html
(bower cache cleanはbowerが無くてできず。)
今度はこれだけやってみる。
npm install
npm WARN deprecated popper.js@1.16.1: You can find the new Popper v2 at @popperjs/core, this package is dedicated to the legacy v1
またエラー。
npm ERR! tar.unpack untar error
Maximum call stack size exceeded
これの繰り返し。
https://qiita.com/asuzuki2008/items/acc963569526ff941619
そもそもゲストOSにnode.jsインストールしちゃいけない?
アンインストールして、ホストOSにインストールすることに。
yum remove nodejs
LaravelのページにあるリンクからWindows版を選んでホストOSにダウンロード。
https://nodejs.org/ja/download/
npm -v
node -v
ちゃんとインストールできた。
※翌日パスが消えていたので、パスを下記同様環境変数リストのトップに移動させて解決。