#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, попробуйте клонировать.