В проекте отсутствуют node_modules dir, но не удается выполнить npm intall

#javascript #node-modules #npm-install

Вопрос:

В моем проекте отсутствует директория node_modules. Я пытался запустить установку npm, но это не удается так:

 ...
npm WARN deprecated core-js@2.6.11: core-js@<3.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Please, upgrade your dependencies to the actual version of core-js.
npm ERR! code 1
npm ERR! path C:usersmeIdeaProjectsportalcp-frontendnode_modulesnode-sass
npm ERR! command failed
npm ERR! command C:WINDOWSsystem32cmd.exe /d /s /c node scripts/build.js
npm ERR! Building: C:Program Filesnodejsnode.exe C:usersmeIdeaProjectsportalcp-frontendnode_modulesnode-gypbinnode-gyp.js rebuild --verbose --libsass_ext= --libsass_cflags= --libsass_ldflags= --libsass_library=
npm ERR! Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch.
npm ERR! Build started 10/1/2021 3:15:35 PM.
npm ERR! Project "C:usersmeIdeaProjectsportalcp-frontendnode_modulesnode-sassbuildbinding.sln" on node 1 (default targets).
npm ERR! ValidateSolutionConfiguration:
npm ERR!   Building solution configuration "Release|x64".
npm ERR! Project "C:usersmeIdeaProjectsportalcp-frontendnode_modulesnode-sassbuildbinding.sln" (1) is building "C:usersmeIdeaProjectsportalcp-frontendnode_modulesnode-sassbuildbinding.vcxproj.metaproj" (2) on node 1 (default targets).
...
 

Я пытался

 npm install --global --production windows-build-tools@4.0.0
 

в powershell от имени администратора, затем выйдите и повторно введите powershell от имени администратора, затем попробуйте установить npm, но все равно получите эту ошибку.

Есть какие-нибудь идеи? Я попытался погуглить его, и предложение было npm install —global —production windows-build-tools@4.0.0 (без @4.0.0 это тоже не удается).

Смотрю на пакеты.файл json, в нем перечислены эти зависимости. Я не уверен, полезно это или нет.

 {
  "name": "customer-portal-frontend",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "@testing-library/jest-dom": "^4.2.4",
    "@testing-library/react": "^9.3.2",
    "@testing-library/user-event": "^7.1.2",
    "antd": "^4.1.0",
    "autoprefixer": "^9.7.6",
    "axios": "^0.19.2",
    "classnames": "^2.2.6",
    "crypto-js": "^4.0.0",
    "dayjs": "^1.8.23",
    "node-sass": "^4.13.1",
    "normalize.css": "^8.0.1",
    "numeral": "^2.0.6",
    "query-string": "^6.12.1",
    "react": "^16.12.0",
    "react-app-polyfill": "^1.0.6",
    "react-dom": "^16.12.0",
    "react-ga": "^2.7.0",
    "react-helmet": "^6.1.0",
    "react-hook-form": "^5.3.1",
    "react-intercom": "^1.0.15",
    "react-responsive-tabs": "^3.3.0",
    "react-router-dom": "^5.1.2",
    "react-scripts": "^3.4.1",
    "reactn": "^2.2.6",
    "tailwindcss": "^1.2.0",
    "victory": "^34.1.3"
  },
  "scripts": {
    "start": "npm run tailwind:css amp;amp; react-scripts start",
    "build": "npm run tailwind:css amp;amp; react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject",
    "tailwind:css": "tailwind build src/tailwind.src.css -c tailwind.js -o src/tailwind.css"
  },
  "eslintConfig": {
    "extends": "react-app"
  },
  "browserslist": {
    "production": [
      "ie 11",
      "last 1 chrome version",
      "last 1 firefox version",
      "last 1 safari version"
    ],
    "development": [
      "ie 11",
      "last 1 chrome version",
      "last 1 firefox version",
      "last 1 safari version"
    ]
  }
}
 

Если я использую запуск npm в директории следующего уровня, я получаю всплывающее окно (но, вероятно, слишком рано начинать запуск npm, так как нет директории node_modules, и установка npm завершается неудачно).

 Script: c:UsersmeIdeaProjectsportalcp-frontendtailwind.js
Line: 32
Char: 7
Error: expected identifier, string or number
Code: 800A0404
Source: Microsoft JScript compilation error
 

Обновление 1:

 Ran npm install node-gyp in the frontend dir and see similar errors as npm install.  I can run that fine in the backend dir. I don't know why this dir fails.  I have windows command prompt open as administrator in both cases..not sure if that would matter.

npm ERR! code 1
npm ERR! path C:UsersmeIdeaProjectsportalcp-frontendnode_modulesnode-sass
npm ERR! command failed
npm ERR! command C:WINDOWSsystem32cmd.exe /d /s /c node scripts/build.js
npm ERR! Building: C:Program Filesnodejsnode.exe C:UsersmeIdeaProjectsportalcp-frontendnode_modulesnode-sassnode_modulesnode-gypbinnode-gyp.js rebuild --verbose --libsass_ext= --libsass_cflags= --libsass_ldflags= --libsass_library=
npm ERR! Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch.
npm ERR! Build started 10/4/2021 8:35:00 AM.
npm ERR! Project "C:UsersmeIdeaProjectsportalcp-frontendnode_modulesnode-sassbuildbinding.sln" on node 1 (default targets).
npm ERR! ValidateSolutionConfiguration:
npm ERR!   Building solution configuration "Release|x64".
npm ERR! Project "C:UsersmeIdeaProjectsportalcp-frontendnode_modulesnode-sassbuildbinding.sln" (1) is building "C:UsersmeIdeaProjectsportalcp-frontendnode_modulesnode-sassbuildbinding.vcxproj.metaproj" (2) on node 1 (default targets).
npm ERR! Project "C:UsersmeIdeaProjectsportalcp-frontendnode_modulesnode-sassbuildbinding.vcxproj.metaproj" (2) is building "C:UsersmeIdeaProjectsportalcp-frontendnode_modulesnode-sassbuildsrclibsass.vcxproj" (3) on node 1 (default targets).
npm ERR! C:UsersmeIdeaProjectsportalcp-frontendnode_modulesnode-sassbuildsrclibsass.vcxproj(20,3): error MSB4019: The imported project "C:Microsoft.Cpp.Default.props" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk.
 

Update2: Попробовал очистить кэш npm —принудительно. Затем npm устанавливает sass, но он все еще пытается выполнить npm install node-sass.

 npm ERR! code 1
npm ERR! path C:UsersmeIdeaProjectsportalcp-frontendnode_modulesnode-sass
npm ERR! command failed
npm ERR! command C:WINDOWSsystem32cmd.exe /d /s /c node scripts/build.js
npm ERR! Building: C:Program Filesnodejsnode.exe C:UsersmeIdeaProjectsportalcp-frontendnode_modulesnode-gypbinnode-gyp.js rebuild --verbose --libsass_ext= --libsass_cflags= --libsass_ldflags= --libsass_library=
npm ERR! Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch.
 

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

1. У вас установлен «node-gyp» и его зависимости (python/etc) ?

2. Я не запускал npm install node-gyp, но я могу это сделать. Я знаю, что у меня есть питон… Я искал его и нашел, что это версия 3.8.xx

3. Я думаю, что вам нужно сделать npm uninstall --save node-sass это перед установкой sass

4. Когда я сталкиваюсь с подобными проблемами, я удаляю все node_modules папок и выполняю npm как обычный пользователь (не администратор). Дайте ему шанс

5. Ух ты! я рад немного помочь вам. Давайте кодировать!

Ответ №1:

Удалите текущую папку node_modules и запустите npm от имени обычного пользователя, не являющегося администратором/root.

Старайтесь по возможности избегать запуска команд npm от имени администратора/Root, это не рекомендуется, потому что команды третьих лиц могут быть выполнены.