简体   繁体   English

Vue项目中NPM INSTALL命令的问题

[英]Problems with NPM INSTALL command in Vue project

I have a template that I bought but when I install it on my pc it doesn't install the dependencies, I run the NPM INSTALL command, and there comes a minute in which the error occurs and it talks about a python 2.我有一个我购买的模板,但是当我将它安装在我的电脑上时,它没有安装依赖项,我运行了 NPM INSTALL 命令,并且有一分钟发生错误并且它谈到了 python 2。

In the past, I'm talking about 1 year ago I installed it without problems, but that time I had another version of node because 1 month ago I had to install version 14 of node js because I wanted to work laravel with vue in the same project and it didn't let me work.过去,我说的是 1 年前我安装它没有问题,但那一次我有另一个版本的 node,因为 1 个月前我不得不安装 node js 的 14 版,因为我想在 laravel 中使用 vue同一个项目,它没有让我工作。

Now that I want to run the project separately and already having the whole document I get the following error.现在我想单独运行该项目并且已经拥有整个文档,我收到以下错误。

λ npm install
npm ERR! code 1
npm ERR! path C:\laragon\www\template\node_modules\node-sass
npm ERR! command failed
npm ERR! command C:\WINDOWS\system32\cmd.exe /d /s /c node scripts/build.js
npm ERR! Building: C:\Program Files\nodejs\node.exe C:\laragon\www\template\node_modules\node-gyp\bin\node-gyp.js rebuild --verbose --libsass_ext= --libsass_cflags= --libsass_ldflags= --libsass_library=
npm ERR! gyp info it worked if it ends with ok
npm ERR! gyp verb cli [
npm ERR! gyp verb cli   'C:\\Program Files\\nodejs\\node.exe',
npm ERR! gyp verb cli   'C:\\laragon\\www\\template\\node_modules\\node-gyp\\bin\\node-gyp.js',
npm ERR! gyp verb cli   'rebuild',
npm ERR! gyp verb cli   '--verbose',
npm ERR! gyp verb cli   '--libsass_ext=',
npm ERR! gyp verb cli   '--libsass_cflags=',
npm ERR! gyp verb cli   '--libsass_ldflags=',
npm ERR! gyp verb cli   '--libsass_library='
npm ERR! gyp verb cli ]
npm ERR! gyp info using node-gyp@3.8.0
npm ERR! gyp info using node@14.16.1 | win32 | x64
npm ERR! gyp verb command rebuild []
npm ERR! gyp verb command clean []
npm ERR! gyp verb clean removing "build" directory
npm ERR! gyp verb command configure []
npm ERR! gyp verb check python checking for Python executable "python2" in the PATH
npm ERR! gyp verb `which` failed Error: not found: python2
npm ERR! gyp verb `which` failed     at getNotFoundError (C:\laragon\www\template\node_modules\which\which.js:13:12)
npm ERR! gyp verb `which` failed     at F (C:\laragon\www\template\node_modules\which\which.js:68:19)
npm ERR! gyp verb `which` failed     at E (C:\laragon\www\template\node_modules\which\which.js:80:29)
npm ERR! gyp verb `which` failed     at C:\laragon\www\template\node_modules\which\which.js:89:16
npm ERR! gyp verb `which` failed     at C:\laragon\www\template\node_modules\isexe\index.js:42:5
npm ERR! gyp verb `which` failed     at C:\laragon\www\template\node_modules\isexe\windows.js:36:5
npm ERR! gyp verb `which` failed     at FSReqCallback.oncomplete (fs.js:183:21)
npm ERR! gyp verb `which` failed  python2 Error: not found: python2
npm ERR! gyp verb `which` failed     at getNotFoundError (C:\laragon\www\template\node_modules\which\which.js:13:12)
npm ERR! gyp verb `which` failed     at F (C:\laragon\www\template\node_modules\which\which.js:68:19)
npm ERR! gyp verb `which` failed     at E (C:\laragon\www\template\node_modules\which\which.js:80:29)
npm ERR! gyp verb `which` failed     at C:\laragon\www\template\node_modules\which\which.js:89:16
npm ERR! gyp verb `which` failed     at C:\laragon\www\template\node_modules\isexe\index.js:42:5
npm ERR! gyp verb `which` failed     at C:\laragon\www\template\node_modules\isexe\windows.js:36:5
npm ERR! gyp verb `which` failed     at FSReqCallback.oncomplete (fs.js:183:21) {
npm ERR! gyp verb `which` failed   code: 'ENOENT'
npm ERR! gyp verb `which` failed }
npm ERR! gyp verb check python checking for Python executable "python" in the PATH
npm ERR! gyp verb `which` succeeded python C:\Python39\python.EXE
npm ERR! gyp ERR! configure error
npm ERR! gyp ERR! stack Error: Command failed: C:\Python39\python.EXE -c import sys; print "%s.%s.%s" % sys.version_info[:3];
npm ERR! gyp ERR! stack   File "<string>", line 1
npm ERR! gyp ERR! stack     import sys; print "%s.%s.%s" % sys.version_info[:3];
npm ERR! gyp ERR! stack                       ^
npm ERR! gyp ERR! stack SyntaxError: invalid syntax
npm ERR! gyp ERR! stack
npm ERR! gyp ERR! stack     at ChildProcess.exithandler (child_process.js:308:12)
npm ERR! gyp ERR! stack     at ChildProcess.emit (events.js:315:20)
npm ERR! gyp ERR! stack     at maybeClose (internal/child_process.js:1048:16)
npm ERR! gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:288:5)
npm ERR! gyp ERR! System Windows_NT 10.0.19043
npm ERR! gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\laragon\\www\\template\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library="
npm ERR! gyp ERR! cwd C:\laragon\www\template\node_modules\node-sass
npm ERR! gyp ERR! node -v v14.16.1
npm ERR! gyp ERR! node-gyp -v v3.8.0
npm ERR! gyp ERR! not ok
npm ERR! Build failed with error code: 1

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\alex_\AppData\Local\npm-cache\_logs\2021-06-26T05_21_01_578Z-debug.log

I was investigating and some people told me to run these commands in administrator mode:我正在调查,有些人告诉我在管理员模式下运行这些命令:

Download any version of python from the Microsoft store and execute these commands:从 Microsoft 商店下载任何版本的 python 并执行以下命令:

npm install --global windows-build-tools
node-gyp install

The version of Nodejs I have is v14.16.1我的Nodejs版本是v14.16.1

I had the same problem some time ago when I wanted to use vue-paper-dashboard .前段时间我想使用vue-paper-dashboard时遇到了同样的问题。

When I executed npm install it gave me the same errors.当我执行npm install它给了我同样的错误。 Do some research, I figured out this was a compatibility issue coming from node-sass and my nodejs version.做一些研究,我发现这是来自node-sass和我的nodejs版本的兼容性问题。 I updated the version of the development dependencies and it worked!我更新了开发依赖项的版本并且它起作用了!

Previously my packages.json looked something like this :以前我的packages.json看起来像这样:

{
    //...
    "devDependencies": {
        "@vue/cli-plugin-babel": "^3.10.0",
        "@vue/cli-plugin-eslint": "^3.10.0",
        "@vue/cli-service": "^3.10.0",
        "@vue/eslint-config-prettier": "^5.0.0",
        "node-sass": "^4.8.3",
        "sass-loader": "^6.0.7",
        "vue-template-compiler": "^2.6.10"
    },
    //...
}

And now it looks like this :现在它看起来像这样:

{
    //...
    "devDependencies": {
        "@vue/cli-plugin-babel": "^4.x.x",
        "@vue/cli-plugin-eslint": "^4.x.x",
        "@vue/cli-service": "^4.x.x",
        "@vue/eslint-config-prettier": "^6.0.0",
        "node-sass": "^6.0.1",
        "sass": "^1.43.2",
        "sass-loader": "^12.2.0",
        "vue-template-compiler": "^2.6.10",
        "webpack": "^5.58.2"
     },
     //...
}

Unfortunately, I encountered some compatibility issues later... nothing very serious.不幸的是,我后来遇到了一些兼容性问题……没什么大不了的。

Here see node version support policy . 在这里查看节点版本支持策略

Update更新

Otherwise, you can just downgrade your node version using nvm .否则,您可以使用nvm降级您的节点版本 In my case, on windows, I installed nvm for windows and downgrade the node version from 16.0.1 to 14.18.1 and it worked fine!就我而言,在 Windows 上,我为 Windows安装了nvm并将节点版本从16.0.1降级到14.18.1 ,它运行良好!

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

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