Woj*_*cki 7 npm gulp npm-install
我正在尝试安装 gulp,当我写的时候npm install我遇到了这个问题:
npm ERR! code 1
npm ERR! path D:\www\wegrow\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 (x86)\nodejs\node.exe D:\www\wegrow\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 (x86)\\nodejs\\node.exe',
npm ERR! gyp verb cli 'D:\\www\\wegrow\\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@16.1.0 | win32 | ia32
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 (D:\www\wegrow\node_modules\which\which.js:13:12)
npm ERR! gyp verb `which` failed at F (D:\www\wegrow\node_modules\which\which.js:68:19)
npm ERR! gyp verb `which` failed at E (D:\www\wegrow\node_modules\which\which.js:80:29)
npm ERR! gyp verb `which` failed at D:\www\wegrow\node_modules\which\which.js:89:16
npm ERR! gyp verb `which` failed at D:\www\wegrow\node_modules\isexe\index.js:42:5
npm ERR! gyp verb `which` failed at D:\www\wegrow\node_modules\isexe\windows.js:36:5
npm ERR! gyp verb `which` failed at FSReqCallback.oncomplete (node:fs:194:21)
npm ERR! gyp verb `which` failed python2 Error: not found: python2
npm ERR! gyp verb `which` failed at getNotFoundError (D:\www\wegrow\node_modules\which\which.js:13:12)
npm ERR! gyp verb `which` failed at F (D:\www\wegrow\node_modules\which\which.js:68:19)
npm ERR! gyp verb `which` failed at E (D:\www\wegrow\node_modules\which\which.js:80:29)
npm ERR! gyp verb `which` failed at D:\www\wegrow\node_modules\which\which.js:89:16
npm ERR! gyp verb `which` failed at D:\www\wegrow\node_modules\isexe\index.js:42:5
npm ERR! gyp verb `which` failed at D:\www\wegrow\node_modules\isexe\windows.js:36:5
npm ERR! gyp verb `which` failed at FSReqCallback.oncomplete (node:fs:194: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 (node:child_process:326:12)
npm ERR! gyp ERR! stack at ChildProcess.emit (node:events:365:28)
npm ERR! gyp ERR! stack at maybeClose (node:internal/child_process:1067:16)
npm ERR! gyp ERR! stack at Socket.<anonymous> (node:internal/child_process:453:11)
npm ERR! gyp ERR! stack at Socket.emit (node:events:365:28)
npm ERR! gyp ERR! stack at Pipe.<anonymous> (node:net:661:12)
npm ERR! gyp ERR! System Windows_NT 10.0.19042
npm ERR! gyp ERR! command "C:\\Program Files (x86)\\nodejs\\node.exe" "D:\\www\\wegrow\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library="
npm ERR! gyp ERR! cwd D:\www\wegrow\node_modules\node-sass
npm ERR! gyp ERR! node -v v16.1.0
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\wbalu\AppData\Local\npm-cache\_logs\2021-05-05T10_38_29_779Z-debug.log
Run Code Online (Sandbox Code Playgroud)
我已经格式化了我的电脑。之前一切正常。现在当我尝试安装它时,这就是弹出窗口。我试过重新安装 node.js,但没有帮助。我不知道我该怎么办。
gig*_*gnu 46
降级 Node.js 是一种选择,但我不喜欢仅仅因为一个包抛出错误就降级 Node.js 的想法。在我看来,找出哪个包导致错误然后修复它是一个更好的方法。
在上线之后npm ERR! code 1,你应该能够看到npm ERR! path...。在我的例子中,路径表明 npm 包有问题node-sass:
npm ERR! code 1
npm ERR! path /home/gignu/GitHub/Movie-Subtitles/node_modules/node-sass
npm ERR! command failed
Run Code Online (Sandbox Code Playgroud)
现在删除这个 npm 包package.json并查看安装是否有效。如果有效,你就找到了罪魁祸首!就我而言,修复它所需要做的就是升级node-sass到最新版本。
// package.json with the outdated dependency
"node-sass": "^4.14.1",
Run Code Online (Sandbox Code Playgroud)
// package.json with the updated dependency
"node-sass": "^7.0.1",
Run Code Online (Sandbox Code Playgroud)
如果之前的解决方案不适合您,我会使用@Andrew Fair 的解决方案:
我取出了 package.json 文件中的整个依赖项部分,然后开始一次安装一个。
为此,只需复制整个dependencies部分devDependencies并将package.json其粘贴到文本编辑器中作为备份。然后删除所有依赖项并尝试一次添加回一个依赖项。如果有很多依赖项,您还可以一次添加回多个依赖项。每次运行npm i并查看是否抛出错误。一旦您发现哪个依赖项导致了错误,请尝试将该依赖项升级到较新的版本,然后运行npm i --force!
如果这不起作用,请尝试将损坏的 npm 包替换为另一个包,或者在其 GitHub 存储库中查找解决方案。
小智 11
尝试
npm cache clean --force
Run Code Online (Sandbox Code Playgroud)
删除文件夹node_modules和文件package-lock.json。
npm i
Run Code Online (Sandbox Code Playgroud)
小智 7
如果您的 Node 版本是最新的,请尝试降级。稳定版 14.16.1 有效。
小智 5
我也遇到了这个问题。查看我的设置后,我发现没有任何问题,并删除了缓存并删除了包锁,但仍然没有成功。
这是一个较旧的网站,我尝试使用更新等,但无济于事。
因此,我取出了package.json文件中的整个依赖项部分,然后开始一次安装一个。
有用!
显然,几乎所有版本都是重大更新,其更新量太大了。
当我尝试npm install在旧项目中运行该命令时,我遇到了同样的问题,我通过按照以下步骤将package.json中的依赖项更新到最新版本来解决该问题:
删除文件夹node_modules文件夹和文件package-lock.json
全局安装npm-check-updates,将所有包更新到新的主要版本
跑步npm install -g npm-check-updates
运行以将package.jsonncu -u中的依赖项更新到最新版本
注意:您可以使用npm update,但 npm update 不会更新到最新版本
跑步npm install
| 归档时间: |
|
| 查看次数: |
8964 次 |
| 最近记录: |