nodejs安装+踩坑报错解决

打印 上一主题 下一主题

主题 552|帖子 552|积分 1656


  • 下载Node.js安装包
    官网下载地址:http://nodejs.cn/download/,根据自己电脑选择32位还是64位,
    下载地址
    选择符合的版本下载
    X86是32位的,X64是64位的,我们一样寻常是下载win版X64的msi文件的是点击可以直接启动安装步调的。
  • 打开下载好的安装步调,点击下一步

  • 选择接受允许协议,点击下一步

  • 选择自己的安装路径(默认是c盘,建议改为自己的其他常安软件的盘),选择完成后,点击下一步

  • 这里四项全部安装,点击下一步(无脑直接点下一步就行,默认这几项都是选好了的)

  • 这里不用打勾✔,下一步

  • 选择Install安装

  • 选择finish完成

  • win+R 打开运行窗口,在此窗口输入cmd下令

进入下令提示符窗口,分别输入以下下令,显示版本号,则安装成功
node -v:显示安装的nodejs版本
npm -v:显示安装的npm版本

10. 修改全局模块路径和缓存路径(可选,大家自行选择是否修改)
当我们在执行npm install express -g下令时,g表现global全局。会默认下载到c盘,c盘一样寻常作为体系盘,尽量把一些步调安装到其他盘,来减少c盘空间的占用
它的默认路径为:【C:\Users\用户名\AppData\Roaming\npm】。
这里将全局模块(文件夹名:node_global)和缓存(文件夹名:node_cache)放在了nodejs安装目录下,在你的nodejs安装目录下创建创建两个文件夹,名称分别为:node_global和node_cache,在node_global文件夹下再建一个node_modules文件夹,配置情况变量用

此时,还没有更改完成,需要手动指定到这两个文件夹中
win+R打开运行窗口,输入cmd,再输入以下两条指令
npm config set prefix “创建的node_global文件夹地点路径”
npm config set cache “创建的node_cache文件夹地点路径”
比方
  1. C:\Users\dyl>npm config set prefix "E:\nodejs\node_global"
  2. C:\Users\dyl>npm config set cache "E:\nodejs\node_cache"
复制代码
修改完毕后,再配置情况变量
右键此电脑——>高级体系设置——>情况变量
在体系变量中,新建,变量名:NODE_PATH 变量值:node_global文件夹下的node_modules文件夹。如:E:\develop\nodejs\node_global\node_modules
修改用户变量中的Path变量,将默认的npm路径修改为新建的node_global路径
这时情况根本上配置好了。
在现实现实打开项目后,通过npm i下令下载一些依靠时,会报一些错误
1、提示没有权限,则把nodejs文件右键属性,给它权限就可以

2、node-sass总是报错,其中一个提示信息是Python版本的题目,使用npm安装node-sass时,或者安装需要python2的依靠时,会报出以下错误。
  1. gyp verb check python checking for Python executable "python2" in the PATH
  2. gyp verb `which` failed Error: not found: python2
  3. gyp verb `which` failed     at getNotFoundError (E:\codes\proviet\client-nuxt\node_modules\which\which.js:13:12)
  4. gyp verb `which` failed     at F (E:\codes\proviet\client-nuxt\node_modules\which\which.js:68:19)
  5. gyp verb `which` failed     at E (E:\codes\proviet\client-nuxt\node_modules\which\which.js:80:29)
  6. gyp verb `which` failed     at E:\codes\proviet\client-nuxt\node_modules\which\which.js:89:16
  7. gyp verb `which` failed     at E:\codes\proviet\client-nuxt\node_modules\isexe\index.js:42:5
  8. gyp verb `which` failed     at E:\codes\proviet\client-nuxt\node_modules\isexe\windows.js:36:5
  9. gyp verb `which` failed     at FSReqCallback.oncomplete (fs.js:183:21)
  10. gyp verb `which` failed  python2 Error: not found: python2
  11. gyp verb `which` failed     at getNotFoundError (E:\codes\proviet\client-nuxt\node_modules\which\which.js:13:12)
  12. gyp verb `which` failed     at E:\codes\proviet\client-nuxt\node_modules\isexe\index.js:42:5
  13. gyp verb `which` failed     at E:\codes\proviet\client-nuxt\node_modules\isexe\windows.js:36:5
  14. gyp verb `which` failed     at FSReqCallback.oncomplete (fs.js:183:21) {
  15. gyp verb `which` failed   code: 'ENOENT'
  16. gyp verb `which` failed }
  17. gyp verb check python checking for Python executable "python" in the PATH
  18. gyp verb `which` succeeded python C:\Program Files\python\python.EXE
  19. gyp ERR! configure error
  20. gyp ERR! stack Error: Command failed: C:\Program Files\python\python.EXE -c import sys; print "%s.%s.%s" % sys.version_info[:3];
  21. gyp ERR! stack   File "<string>", line 1
  22. gyp ERR! stack     import sys; print "%s.%s.%s" % sys.version_info[:3];
  23. gyp ERR! stack                       ^
  24. gyp ERR! stack SyntaxError: invalid syntax
  25. gyp ERR! stack
  26. gyp ERR! stack     at ChildProcess.exithandler (child_process.js:308:12)
  27. gyp ERR! stack     at ChildProcess.emit (events.js:315:20)
  28. gyp ERR! stack     at maybeClose (internal/child_process.js:1048:16)
  29. gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:288:5)
  30. gyp ERR! System Windows_NT 10.0.19042
  31. gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "E:\\codes\\proviet\\client-nuxt\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library="
  32. gyp ERR! cwd E:\codes\proviet\client-nuxt\node_modules\node-sass
  33. gyp ERR! node -v v14.16.0
复制代码
我的解决办法是自行安装Python2.7
安装完成后配置情况变量
  1. npm config set python python2.7
复制代码
再配置一下版本
  1. npm config set msvs_version 2017
复制代码
另一个解决方法在这里记录一下,不过我之前用这个解决欠好用,可能分个人的情况吧。
解决方案二(推荐)
node-sass实在太坑了,之前遇到安装失败使用方法一完美解决。最近又一次遇到了,但是方法一又无效了。于是我又在网上找到另一个方法,就是用dart-sass来替换node-sass。
正常的替换也会出题目,还要改配置。使用以下方法便可以解决
yarn安装的:
yarn add node-sass@yarn:dart-sass -D
npm install node-sass@npm:dart-sass -D
3、使用淘宝镜像遇到的题目
会报错,因为淘宝的ssl证书过期了。
cmd下node -v 检察node是否已安装
安装淘宝镜像
  1. npm install -g cnpm -registry=https://registry.npm.taobao.org
复制代码
检察cnpm是否真安装成功 cnpm -v

假如遇到这个错误,就是ssl证书的题目
  1. npm ERR! code CERT_HAS_EXPIRED
  2. npm ERR! errno CERT_HAS_EXPIRED
  3. npm ERR! request to https://registry.npm.taobao.org/@handsontable%2fvue failed, reason: certificate has expired
  4. npm ERR! A complete log of this run can be found in:
  5. npm ERR!     C:\Users\taylor\AppData\Roaming\npm-cache\_logs\2024-02-29T01_10_09_723Z-debug.log
复制代码
解决方法
您可以实行以下方法来解决这个题目:(一样寻常只需要前两步就能解决题目)
1、清除npm缓存
  1. npm cache clean --force
复制代码
2、禁用SSL:固然不推荐,但您可以暂时禁用SSL验证来解决这个题目。但请留意,这会降低安全性。您可以通过设置npm的 strict-ssl 选项为 false 来实现:
  1. npm config set strict-ssl false
复制代码
3、手动设置npm镜像源:偶尔,npm的默认镜像源可能会出现证书题目。您可以实行切换到另一个镜像源,比方使用淘宝镜像。可以通过以下下令来设置:
  1. npm config set registry https://registry.npm.taobao.org/
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

用多少眼泪才能让你相信

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表