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或者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日
    浏览(18)
  • 解决 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日
    浏览(6)
  • npm install 出现 npm ERR! command failed 解决办法

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

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

    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日
    浏览(12)
  • npm install错误——npm ERR! code ERESOLVE 解决方法(亲测有效)

    npm install错误——npm ERR! code ERESOLVE 解决方法(亲测有效)

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

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

    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日
    浏览(11)
  • yarn安装依赖包报错 An unexpected error occurred: “htps://registry.npm.taobao.org/vue-router: Invalid protoc

    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日
    浏览(10)
  • 解决 npm ERR! missing script: build 错误的方法

    解决 npm ERR! missing script: build 错误的方法

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

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

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

    2024年02月10日
    浏览(10)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包