npm安装yarn报npm ERR Unexpected token ‘.‘错误的解决办法

这篇具有很好参考价值的文章主要介绍了npm安装yarn报npm ERR Unexpected token ‘.‘错误的解决办法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

问题背景
最近发现很多前端框架或前端产品的学习和使用都用到了yarn,一开始不知道这是干什么的,后在网上搜索说是JS包管理工具,我一致都是用的nodeJs,难道node过时了,然后有一顿搜索,网上是这么介绍的。

Yarn是什么?
“Yarn是由Facebook、Google、Exponent 和 Tilde 联合推出了一个新的 JS 包管理工具 ,正如官方文档中写的,Yarn 是为了弥补 npm 的一些缺陷而出现的。”这句话让我想起了使用npm时的坑了:

npm install的时候巨慢。特别是新的项目拉下来要等半天,删除node_modules,重新install的时候依旧如此。
同一个项目,安装的时候无法保持一致性。由于package.json文件中版本号的特点,下面三个版本号在安装的时候代表不同的含义。
"5.0.3",
"~5.0.3",
"^5.0.3"
1
2
3
“5.0.3”表示安装指定的5.0.3版本,“~5.0.3”表示安装5.0.X中最新的版本,“^5.0.3”表示安装5.X.X中最新的版本。这就麻烦了,常常会出现同一个项目,有的同事是OK的,有的同事会由于安装的版本不一致出现bug。

安装的时候,包会在同一时间下载和安装,中途某个时候,一个包抛出了一个错误,但是npm会继续下载和安装包。因为npm会把所有的日志输出到终端,有关错误包的错误信息就会在一大堆npm打印的警告中丢失掉,并且你甚至永远不会注意到实际发生的错误。
Yarn的优点
速度快 。速度快主要来自以下两个方面:
并行安装:无论 npm 还是 Yarn 在执行包的安装时,都会执行一系列任务。npm 是按照队列执行每个 package,也就是说必须要等到当前 package 安装完成之后,才能继续后面的安装。而 Yarn 是同步执行所有任务,提高了性能。
离线模式:如果之前已经安装过一个软件包,用Yarn再次安装时之间从缓存中获取,就不用像npm那样再从网络下载了。
安装版本统一:为了防止拉取到不同的版本,Yarn 有一个锁定文件 (lock file) 记录了被确切安装上的模块的版本号。每次只要新增了一个模块,Yarn 就会创建(或更新)yarn.lock 这个文件。这么做就保证了,每一次拉取同一个项目依赖时,使用的都是一样的模块版本。npm 其实也有办法实现处处使用相同版本的 packages,但需要开发者执行 npm shrinkwrap 命令。这个命令将会生成一个锁定文件,在执行 npm install 的时候,该锁定文件会先被读取,和 Yarn 读取 yarn.lock 文件一个道理。npm 和 Yarn 两者的不同之处在于,Yarn 默认会生成这样的锁定文件,而 npm 要通过 shrinkwrap 命令生成 npm-shrinkwrap.json 文件,只有当这个文件存在的时候,packages 版本信息才会被记录和更新。
更简洁的输出:npm 的输出信息比较冗长。在执行 npm install 的时候,命令行里会不断地打印出所有被安装上的依赖。相比之下,Yarn 简洁太多:默认情况下,结合了 emoji直观且直接地打印出必要的信息,也提供了一些命令供开发者查询额外的安装信息。
多注册来源处理:所有的依赖包,不管他被不同的库间接关联引用多少次,安装这个包时,只会从一个注册来源去装,要么是 npm 要么是 bower, 防止出现混乱不一致。
更好的语义化: yarn改变了一些npm命令的名称,比如 yarn add/remove,感觉上比 npm 原本的 install/uninstall 要更清晰。
Yarn和npm命令对比
npm yarn
npm install yarn
npm install react --save yarn add react
npm uninstall react --save yarn remove react
npm install react --save-dev yarn add react --dev
npm update --save yarn upgrade
安装准备
一般前端框架在介绍依赖的开发环境时,都建议安装最新的NodeJs,我查了一下,当前最新版为17.8.0,如下图:


安装yarn
执行node命令

npm install -g yarn
1
npm ERR! Unexpected token '.'错误如下


问题解决
通过网上介绍的类似问题排查与尝试,发现自己安装的nodeJs版本太高导致,因此在看到前端框架的产品介绍中说依赖环境最新版nodeJs时,一定要慎重。我把nodeJs 17.8.0卸载,改用之前安装的14.18.1再次安装yarn,则成功了,如下图:


yarn设置源
为了进一步提高下载包的速度,可以设置yarn的源为国内淘宝镜像,如下:

yarn config set registry https://registry.npm.taobao.org -g
yarn config set sass_binary_site http://cdn.npm.taobao.org/dist/node-sass -g
1
2
验证一下设置是否生效

yarn config get registry
1
npm设置源
npm config set registry https://registry.npm.taobao.org
1
验证一下设置是否生效

npm config get registry
1
设置过程如下图:

————————————————
版权声明:本文为CSDN博主「CodingPioneer」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/zlbdmm/article/details/123817306文章来源地址https://www.toymoban.com/news/detail-428480.html

到了这里,关于npm安装yarn报npm ERR Unexpected token ‘.‘错误的解决办法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • npm或者pnpm或者yarn安装依赖报错ENOTFOUND解决办法

    如果报错说安装依赖报错,大概率是因为npm源没有设置对,比如我这里安装protobufjs的时候报错:ENOTFOUND npm ERR! code ENOTFOUND npm ERR! syscall getaddrinfo npm ERR! errno ENOTFOUND npm ERR! network request to https://registry.cnpmjs.org/protobufjs-cli failed, reason: getaddrinfo ENOTFOUND registry.cnpmjs.org npm ERR! network

    2024年01月24日
    浏览(53)
  • 解决 eslint 的 Parsing error: Unexpected token 错误

    解决 eslint 的 Parsing error: Unexpected token 错误 问题描述:import动态导入,将js文件单独打包时,webpack打包错误 ERROR in ./src/js/main.js Module Error (from ./node_modules/_eslint-loader@4.0.2@eslint-loader/dist/cjs.js ): F:workspacejavascript workspacewebpackprj18_3srcjsmain.js 8:7 error Parsing error: Unexpected token (

    2024年02月05日
    浏览(27)
  • npm install 出现 npm ERR! command failed 解决办法

    本地使用npm install 时出现如下异常,可以看下本地是否安装过历史版本的node导致的版本冲突。 解决方案: 先将历史版本的 node 卸载,再重新安装后,再执行npm install  转自下面这篇文章 npm install 时 node-sass npm ERR command failed问题解决

    2024年02月12日
    浏览(39)
  • npm ERR! code ENOENT npm ERR! syscall open 错误解决 前端vue启动报错

    npm ERR! code ENOENT npm ERR! syscall open 错误解决 启动myvue时,发生以下错误 错误详情: 主要原因: 原因就是找不到package.json文件,启动项目路径不正确 解决办法: 找到相应路径:E:项目源码ideavuenpm run dev(示例) 多数人此时都在myvue的上一级目录运行npm run dev,此时自然没有p

    2024年02月12日
    浏览(43)
  • npm install错误——npm ERR! code ERESOLVE 解决方法(亲测有效)

    最近node用nvm来管理,nvm安装在这里   nvm的环境变量   path中配置       正在使用的node版本的软连接在这里  vue项目执行npm install的时候报如下错误 添加--legacy-peer-deps即可正常                

    2024年02月14日
    浏览(38)
  • npm ERR! exited with error code: 128终极解决办法

    报错信息:npm ERR! E:toolsGittGitcmdgit.EXE ls-remote -h -t https://github.com/nhn/raphael.git npm ERR! npm ERR! fatal: unable to access \\\'https://github.com/nhn/raphael.git/\\\': OpenSSL SSL_read: Connection was reset, errno 10054 npm ERR! npm ERR! exited with error code: 128 升级npm,配置https都不行  git config --global url.\\\"https://\\\".instea

    2024年02月07日
    浏览(45)
  • 解决 npm ERR! missing script: build 错误的方法

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。 在使用 npm 进行前端项目构建时,有时会遇到错误信息 “npm ERR! missing script: build”,该错误通常发生在没有定义构

    2024年02月16日
    浏览(34)
  • yarn安装依赖包报错 An unexpected error occurred: “htps://registry.npm.taobao.org/vue-router: Invalid protoc

    yarn安装依赖包报错 这是因为网络不好导致的下载依赖包请求超时报错,更改下载地址即可。 步骤1.请求地址设置成淘宝源 步骤2.对node-sass镜像源进行设置 步骤3.重新下载 参考文章:https://blog.csdn.net/i_am_a_div/article/details/107935408

    2024年02月14日
    浏览(36)
  • vscode执行npm install 报错(npm ERR! code 128...raphael.git...)的解决办法

    报错信息如下: 注意:以下命令在终端执行后,会在 C:Users用户名 目录下的.gitconfig文件中保存相应内容,如果某条内容报错,可手动删除.gitconfig中的内容后重新执行。 方法1 在项目目录下创建文件: .npmrc ,然后在里面添加如下内容: 接着在vscode的终端执行如下命令: 方

    2024年02月10日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包