简体   繁体   English

新鲜的Laravel Homestead 8.0.1:npm run dev无法编译,npm ci无法安装。 有交叉环境吗?

[英]Fresh Laravel Homestead 8.0.1: npm run dev fails to compile and npm ci fails to install. Something with cross-env?

I recently upgraded my Homestead from 6.3 to fresh Laravel Homestead 8.1. 我最近将我的Homestead从6.3升级到了新的Laravel Homestead 8.1。

I ssh 'ed into the VM as usual to compile assets in my Laravel project via npm run dev and it started failing. 我像往常一样ssh到VM中,以通过npm run dev编译Laravel项目中的资产,并且开始失败。

I was getting issue that Node Sass does not yet support your current environment ( similar to this ) but running: 我遇到了一个问题,Node Sass尚不支持您当前的环境( 类似于此 ),但正在运行:

sudo npm rebuild node-sass and npm uninstall --save node-sass and npm install --save node-sass didn't help. sudo npm rebuild node-sassnpm uninstall --save node-sassnpm install --save node-sass没有帮助。

When I completely remove node_modules via rm -rf node_modules or do npm ci it install stuff and fails at the end with: 当我通过rm -rf node_modules完全删除node_modules或执行npm ci它会安装东西,并最终失败:

在此处输入图片说明

No idea how to fix this. 不知道如何解决此问题。 My node and npm versions are below: 我的节点和npm版本如下:

node -v gives v12.7.0 node -v给出v12.7.0

npm -v gives 6.10.2 npm -v给出6.10.2

package.json is: package.json是:

{
  "private": true,
  "scripts": {
    "dev": "npm run development",
    "development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
    "watch": "npm run development -- --watch",
    "watch-poll": "npm run watch -- --watch-poll",
    "hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js",
    "prod": "npm run production",
    "production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --no-progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
    "test": "cross-env NODE_ENV=test jest",
    "tdd": "npm run test -- --watch --notify"
  },
  "devDependencies": {
    "@coreui/coreui": "^2.0.4",
    "@fortawesome/fontawesome-svg-core": "^1.2.2",
    "@fortawesome/free-brands-svg-icons": "^5.2.0",
    "@fortawesome/free-regular-svg-icons": "^5.2.0",
    "@fortawesome/free-solid-svg-icons": "^5.2.0",
    "@vue/test-utils": "^1.0.0-beta.10",
    "axios": "^0.18",
    "babel-jest": "^22.1.0",
    "bootstrap": "^4.0.0",
    "cross-env": "^5.1",
    "jest": "^22.1.4",
    "jest-vue-preprocessor": "^1.3.1",
    "jquery": "^3.2",
    "laravel-mix": "^2.0",
    "lodash": "^4.17.5",
    "pace": "github:HubSpot/pace#v1.0.2",
    "perfect-scrollbar": "^1.4.0",
    "popper.js": "^1.12.4",
    "sweetalert2": "^7.0.7",
    "vue": "^2.5.7"
  },
  "jest": {
    "testURL": "http://localhost",
    "roots": [
      "<rootDir>/tests/Javascript/"
    ],
    "moduleNameMapper": {
      "^vue$": "vue/dist/vue.common.js"
    },
    "moduleFileExtensions": [
      "js",
      "vue"
    ],
    "transform": {
      "^.+\\.js$": "<rootDir>/node_modules/babel-jest",
      ".*\\.(vue)$": "<rootDir>/node_modules/jest-vue-preprocessor"
    }
  },
  "dependencies": {
    "bootstrap-datepicker": "^1.8.0",
    "clipboard": "^2.0.4",
    "datatables.net": "^1.10.19",
    "datatables.net-bs4": "^1.10.19",
    "datatables.net-scroller": "^2.0.0",
    "debounce": "^1.2.0",
    "jquery-datatables-checkboxes": "^1.2.11",
    "owl.carousel": "^2.3.4",
    "select2": "^4.0.6-rc.1"
  }
}

Can somebody give me any hint? 有人可以给我任何提示吗? I'm happy to provide additional output from any logs if needed. 如果需要,我很乐意提供任何日志的其他输出。 I'm blocked by this one. 我被这个阻止了。

Full reset did the job: 完全重置完成了这项工作:

rm -rf node_modules
rm package-lock.json
npm cache clear --force
npm install

then 然后

npm run dev

在此处输入图片说明

I committed new package-lock.json into the repository. 我将新的package-lock.json到存储库中。 Can somebody at least explain what was the culprit? 有人至少可以解释是什么原因吗?

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM