vue.jsを使うためのパッケージインストール時に出たエラーの対処

最初のpackage.json

{
  "name": "sample",
  "version": "1.0.0",
  "description": "",
  "main": "app.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "jquery": "^3.4.1",
    "vue": "^2.6.11"
  },
  "devDependencies": {
    "babel": "^6.23.0",
    "babel-core": "^6.26.0",
    "babel-loader": "7.1.1",
    "babel-preset-env": "^1.7.0",
    "babelify": "^8.0.0",
    "browser-sync": "^2.26.7",
    "browserify": "^16.5.0",
    "classnames": "^2.2.5",
    "eslint": "^6.8.0",
    "gulp": "^4.0.2",
    "gulp-eslint": "^6.0.0",
    "gulp-notify": "^3.2.0",
    "gulp-plumber": "^1.2.1",
    "gulp-webpack": "^1.5.0",
    "vinyl-source-stream": "^2.0.0",
    "vue-devtools": "^5.1.3",
    "webpack": "^3.12.0",
    "webpack-stream": "^5.2.1"
  },
  "babel": {
    "presets": [
      "babel-preset-env"
    ]
  }
}

fseventsのインストール

npm installで以下のようなエラーが出る。

node install

node-pre-gyp ERR! Tried to download(404): https://fsevents-binaries.s3-us-west-2.amazonaws.com/v1.2.3/fse-v1.2.3-node-v72-darwin-x64.tar.gz
node-pre-gyp ERR! Pre-built binaries not found for fsevents@1.2.3

調べてみると、fsevents系のパーミッションエラーらしい。

手っ取り早いのが、node.jsのバージョンを下げることだが、他のところで、影響が出るのは嫌なので、バージョンを下げずに進める。

まず、fsevents最新版をインストールする。

参考:https://qiita.com/MasamotoMiyata/items/0fdad60d80687fb01909

natives,のインストール

natives関連のエラーが出たので、こちらも最新版をインストールする。

npm auditで出た問題

インストールはできたとして、

gulpコマンドを実行すると、以下のものが出る。

npm update extend –depth 3

primordials is not defined

これも、バージョンの違いによるものらしい。

run : npm install –save-dev gulp@4.0.2 と、でたので

そのように打つと、gulpがインストールされる。

さらに、

npm auditをすると問題がわかるとのことで、それを打つと、以下のものが出る。

High          Regular Expression Denial of Service   


正規表現のサービス拒否

Package       minimatch    


High          Prototype Pollution          


プロトタイプ汚染

Package       lodash    


Low           Regular Expression Denial of Service        



Package       braces  

以上のような内容が出る。

調べてみると、

正規表現をつかったDoS攻撃を受ける危険性があるというものだった。

また、表には ” Dependency of ” というように、依存するパッケージも示されている。

よくわからないので、

それぞれのパッケージをupdateする。

その後、gulpコマンドを打つと、

ERR! peer dep missing: webpack@2 || 3, required by babel-loader@7.1.1 

と、出るので、

npm ls webpack として、webpackの依存関係を調べ、

sample@1.0.0 /Applications/MAMP/htdocs/vue_sample01

├─┬ gulp-webpack@1.5.0


│ └── webpack@1.15.0


 

├── UNMET PEER DEPENDENCY webpack@4.41.5

└─┬ webpack-stream@5.2.1

  └── UNMET PEER DEPENDENCY webpack@4.41.5  deduped


以上のように出るので、webpackを一度削除して、バージョン3系でインストールし直した。

これで、gulpが走るようになった。

参考:https://qiita.com/hibikikudo/items/0af352acac85fce28ec2

他にも、eslint, vue-devtoolsでも問題が発生したので次回とする。

【楽天1位】ノートパソコンスタンド パソコンスタンド 折りたたみ式 ノート PCスタンド 改良版 アルミ合金製 ホルダー 高さ 角度調整可能 滑り止め 軽量 姿勢改善 Macbook/Macbook Air/Macbook Pro/iPad//タブレットなど9~17インチまでに対応