ОШИБКА npm! отсутствует скрипт: (вставьте что-нибудь здесь) на Vue.js приложение после перемещения папки

#vue.js #npm

#vue.js #npm

Вопрос:

Я нахожусь в процессе перемещения Vue.js приложение в новый репозиторий, извлекая его из старого хоста.

На данный момент я буквально скопировал приложение из одной папки в другую, но оно не будет создано. Он отлично работает в первой папке, но не во второй.

Как только я наберу npm run build / npm run build-app-only (или что-нибудь еще, если на то пошло) Я понимаю это…

npm ERR! missing script: vue-cli-service

или

node-sass is not recognised as an internal or external command

Вот часть скриптов моего package.json….

 "scripts": {
    "serve-vstudio": "npm run messaging-css amp;amp; vue-cli-service serve",
    "serve": "npm run messaging-css amp;amp; vue-cli-service serve --port 8080",
    "build": "npm run messaging-css amp;amp; vue-cli-service build",
    "build-app-only": "npm run vue-cli-service build",
    "build-debug": "npm run messaging-css amp;amp; vue-cli-service build --mode staging",
    "test": "vue-cli-service test:unit "\.*\.spec\.js$" --testPathIgnorePatterns="\long/.*\.spec\.js$"",
    "test-all": "cross-env NODE_OPTIONS="--max-old-space-size=4096" vue-cli-service test:unit "\.*\.spec\.js$"",
    "test-long": "cross-env NODE_OPTIONS="--max-old-space-size=4096" vue-cli-service test:unit "\long/.*\.spec\.js$"",
    "test-ci": "vue-cli-service test:unit "\.*\.spec\.js$" --testPathIgnorePatterns="\long/.*\.spec\.js$"",
    "test-clear": "jest --clearCache",
    "test-watch": "vue-cli-service test:unit "\.*\.spec\.js$" --testPathIgnorePatterns="\long/.*\.spec\.js$" --watch",
    "test-watch-all": "cross-env NODE_OPTIONS="--max-old-space-size=4096" vue-cli-service test:unit "\.*\.spec\.js$" --watch",
    "test-watch-long": "cross-env NODE_OPTIONS="--max-old-space-size=4096" vue-cli-service test:unit "\long/.*\.spec\.js$" --watch",
    "lint": "vue-cli-service lint",
    "dev": "vue-cli-service serve",
    "test:unit": "vue-cli-service test:unit",
    "view-cfg": "vue inspect > standard.config.js",
    "watch": "vue-cli-service build --mode development --watch",
    "messaging-css-ecofurb": "node-sass src/scss/schemes/messaging/ecofurb.scss -o public/schemes/ecofurb/css --output-style compressed amp; node-sass src/scss/schemes/messaging/ecofurb.scss -o ../plan-builder/schemes/ecofurb/css --output-style compressed",
    "messaging-css-oxfordshire": "node-sass src/scss/schemes/messaging/oxfordshire.scss -o public/schemes/oxfordshire/css --output-style compressed amp;amp; node-sass src/scss/schemes/messaging/oxfordshire.scss -o ../plan-builder/schemes/oxfordshire/css --output-style compressed",
    "messaging-css-parity": "node-sass src/scss/schemes/messaging/parity.scss -o public/schemes/parity/css --output-style compressed amp;amp; node-sass src/scss/schemes/messaging/parity.scss -o ../plan-builder/schemes/parity/css --output-style compressed",
    "messaging-css-radbot": "node-sass src/scss/schemes/messaging/radbot.scss -o public/schemes/radbot/css --output-style compressed amp; node-sass src/scss/schemes/messaging/radbot.scss -o ../plan-builder/schemes/radbot/css --output-style compressed",
    "messaging-css-warmersussex": "node-sass src/scss/schemes/messaging/warmersussex.scss -o public/schemes/warmersussex/css --output-style compressed amp;amp; node-sass src/scss/schemes/messaging/warmersussex.scss -o ../plan-builder/schemes/warmersussex/css --output-style compressed",
    "messaging-css": "npm run messaging-css-ecofurb amp;amp; npm run messaging-css-oxfordshire amp;amp; npm run messaging-css-parity amp;amp; npm run messaging-css-radbot amp;amp; npm run messaging-css-warmersussex"
  },
,
  "dependencies": {
    "ajv": "^5.0.0",
    "arg-guard": "^1.0.3",
    "axios": "^0.18.0",
    "breakpoint-sass": "^2.7.1",
    "core-js": "^2.6.5",
    "delay": "^4.3.0",
    "localforage": "^1.7.3",
    "lodash": "^4.17.11",
    "moment": "^2.24.0",
    "onload-function-stack": "^1.2.0",
    "susy": "^3.0.5",
    "uri-path-manager": "^1.0.4",
    "uuid": "^3.3.2",
    "vee-validate": "^2.1.3",
    "vue": "2.6.7",
    "vue-analytics": "^5.17.2",
    "vue-recaptcha": "^1.1.1",
    "vue-router": "3.0.1",
    "vuedraggable": "^2.20.0",
    "vuex": "^3.0.1",
    "window-wrapper": "^1.2.0"
  },
  "devDependencies": {
    "@fortawesome/fontawesome-free": "^5.7.2",
    "@vue/cli-plugin-babel": "^3.2.0",
    "@vue/cli-plugin-eslint": "^3.2.0",
    "@vue/cli-plugin-unit-jest": "^3.10.0",
    "@vue/cli-service": "^3.5.2",
    "@vue/eslint-config-airbnb": "^4.0.0",
    "@vue/server-test-utils": "1.0.0-beta.29",
    "@vue/test-utils": "1.0.0-beta.29",
    "babel-core": "7.0.0-bridge.0",
    "babel-eslint": "^10.0.1",
    "babel-jest": "^23.6.0",
    "browserslist": "^4.12.0",
    "caniuse-lite": "^1.0.30001059",
    "cheerio": "^1.0.0-rc.3",
    "cross-env": "^7.0.2",
    "eslint": "^5.8.0",
    "eslint-config-prettier": "^3.3.0",
    "eslint-plugin-vue": "^5.0.0-0",
    "flush-promises": "^1.0.2",
    "happy-dom": "^0.14.1",
    "imagemin-webpack-plugin": "^2.4.2",
    "jest-junit-reporter": "^1.1.0",
    "lint-staged": "^7.2.2",
    "node-sass": "^4.10.0",
    "normalize-scss": "^7.0.1",
    "postcss-import": "^12.0.1",
    "postcss-url": "^8.0.0",
    "sass-loader": "^7.0.1",
    "vue-server-renderer": "2.6.7",
    "vue-template-compiler": "2.6.7"
  }
 

Я запускаюсь из корневой папки, где находится package.json.

Я попытался сделать другую копию в другой папке (это тоже ломается).

Я снова попытался запустить вручную npm i (хотя я скопировал все файлы заново).

Я прочесал Интернет, но все решения по этому вопросу, похоже, вращаются вокруг того, что сценарий не найден как пользовательский сценарий, но это не так — мои определенные сценарии найдены нормально, но вызовы из самих сценариев, похоже, больше не работают с момента перемещения.

Комментарии:

1. Что произойдет, если вы удалите node_modules , установите зависимости снова и повторно запустите команду?

2. Кажется, что ваша ячейка vue-cli привязана к этому каталогу, вы можете запустить команду vue-cli-service на своем терминале? как сказано в документе: внутри проекта Vue CLI @vue / cli-service устанавливает двоичный файл с именем vue-cli-service. Вы можете получить доступ к двоичному файлу напрямую как vue-cli-service в сценариях npm или как ./node_modules/.bin/vue-cli-service из терминала. есть ли у вас такая зависимость в вашем проекте @vue/cli-service ? проверьте, есть ли он в новой папке, которую вы создали внутри node_modules

3. @WesleyGuirra или просто npx vue-cli-service (сначала он заглянет внутрь node_modules )

4. Да, оно будет запущено node_modules , но зависимость должна быть указана в package.json перед командой установки npm.

5. Все зависимости перечислены, присутствуют и исправлены — я исключил их для краткости, но добавлю

Ответ №1:

Речь идет не о scripts разделе, а о dependencies .

Установите его глобально, как показано здесь:

 npm install -g @vue/cli
# OR
yarn global add @vue/cli
 

если все еще не работает, добавьте зависимость от разработчика:

 npm i @vue/cli-service -D
# OR 
yarn add @vue/cli-service -D
 

Комментарии:

1. Все они установлены и перечислены — обновлены выше, чтобы показать.

2. @KeithJackson попробуйте полный путь ./node_modules/.bin/vue-cli-service

3. Это не конкретно — не было запущено ни одной вещи — ‘vue-cli-service’, ‘jest’, ‘node-sass’ — все они необъяснимым образом не работали там, где они нормально работали в другой корневой папке. Моим лучшим предположением был поврежденный конфигурационный файл где-то или что-то, что было удалено, когда файлы попали в проект harness.

4. Насколько я понимаю, вы полностью переустановили модули, так что все должно работать, основной файл package.json и package.lock.json в котором хранятся версии — этих двух файлов вполне достаточно. если вы разместите его на github, попробуйте клонировать.