大企業営業から未経験ITエンジニアを目指すブログ

アラサー大企業営業から未経験ITエンジニアを目指すブログ。日々学んだことを忘備録的に記します。

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

 

yum list installed | grep npm

npmはインストールできているらしい。

argv は argument vector(引数の配列)

winston.silly('ばかばかしいこと');
winston.debug('かいはつのこと');
winston.verbose('どうでもいいこと');
winston.info('じょうほう');
winston.warn('やばい');
winston.error('すごくやばい');

 tarとは、ファイルをアーカイブ(ひとまとめに)する形式のひとつ。Linuxにはtarというコマンドがある。

 もう一回アンインストールしてみる。

インストールしてみる。

 

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

ちゃんとインストールできた。

 

※翌日パスが消えていたので、パスを下記同様環境変数リストのトップに移動させて解決。

 

rintaro2019.hatenablog.com