记一次诡异的vue构建npm chromedriver错误

记一次诡异的vue构建npm chromedriver错误

    • 1、背景
    • 2、项目来源
    • 3、问题排查过程
      • 3.1 折腾淘宝源安装依赖【多数人用此方法能解决问题】
      • 3.2 修改配置文件
      • 3.3 单独安装chromedriven驱动
    • 4、解决办法
      • 方法一:安装淘宝源
      • 方法二: 原生npm安装

1、背景

搞定问题就马上写了,比较仓促,写的出错的地方还请见谅,欢迎指正,有好的其他方法也欢迎提供给我,排版也没去在意了。
按照问题排查顺序编写,解决方式直接看最后—直接官方原生【解决问题】
报错问题见最后几张图片

2、项目来源

开发项目基于renren-fast-vue框架,可以参考开源项目
项目地址
git clone https://github.com/daxiongYang/renren-fast-vue.git
原生安装依赖
npm install
启动服务
npm run dev

3、问题排查过程

  1. npm install–save安装这一步,驱动一直下不来,然后用淘宝源同样也一直失败,用了淘宝源去下载的是2.45.0版本的。本地的2.27左右的版本,但问题不在这,因为查阅一番网上没有人提到有这种坑。
  2. 开始直接install报错之后,尝试直接运行npm run
    dev,结果出现一堆nass之类的错误,但是实际上仍然是驱动问题,因为install那一步就大量出错了。
  3. 所以问题缩小到驱动下载失败和install驱动失败这两处去着手。
    怪异的是:用淘宝源安装的另外两台同事的电脑都能正常install和运行。

3.1 折腾淘宝源安装依赖【多数人用此方法能解决问题】

直接普通淘宝源安装

## 使用淘宝源
npm install -g cnpm --registry=https://registry.npm.taobao.org
## 使用cnpm去安装
cnpm install
## cnpm安装好之后,接着用npm去run启动服务
npm run dev
  • 大多数人这个方式能解决问题。
  • 如果上面步骤报错,可以重试几次命令,或者删除node_modules重新install试一下,多试一两下大多数机器都是基本能成功的。

我的这样确实不行,然后尝试下面一种配置,


3.2 修改配置文件

1.方法一,sass_binary_site,chromedriver_cdnurl在系统环境变量配置,其实就是自己下载比如到D:\chromedriven.exe。然后环境变量指定一下就行了,结果也是不行的。
2.方法二,修改npmrc文件,去c盘的用户的admin下面修改node文件名.npmrc,如果不好搜建议下一个搜索软件everything,原本的npm官方获取地址是 registry=https://registry.npmjs.org/
然后修改.npmrc

    registry=https://registry.npm.taobao.org 
    phantomjs_cdnurl=https://npm.taobao.org/dist/phantomjs 
    chromedriver_cdnurl=https://npm.taobao.org/mirrors/chromedriver 
    sass_binary_site=http://npm.taobao.org/mirrors/node-sass 
    ELECTRON_MIRROR=http://npm.taobao.org/mirrors/electron

然后重新install,仍然不可以,

3.3 单独安装chromedriven驱动

问了前同事群说单独安装看行不行,
https://blog.csdn.net/gobravery/article/details/79156203
很多人的确实这样可以

npm install chromedriver --chromedriver_cdnurl=http://cdn.npm.taobao.org/dist/chromedriver

然而我的也是不行。可能是采坑越多,成长越快,我还是得高兴一下安慰自己。


4、解决办法

方法一:安装淘宝源

重复3.1提到的安装淘宝源大多数人这个方式能解决问题。

## 使用淘宝源
npm install -g cnpm --registry=https://registry.npm.taobao.org
## 使用cnpm去安装
cnpm install
## cnpm安装好之后,接着用npm去run启动服务
npm run dev

如果上面步骤报错,可以重试几次命令,或者删除node_modules重新install试一下,多试一两下大多数机器都是基本能成功的。


方法二: 原生npm安装

描述
这里说明下,其实我用了一次淘宝源是正常的,就是重新安装了下nodejs,然后cnpm啥的都还在,直接install然后接着运行竟然都没报错。
然后现在放弃了淘宝源了,那么说说接下来吧。
我有全局【必须是全局代理】anyconnect可以去拉官方的镜像,所以这时候强制清理缓存之后,去安装发现有不一样的报错。
提示error operation not permitted。
估计确实要用管理员身份的命令行,这个很明显,马上用了【管理员身份运行,然后又是驱动报错,一堆,这时候,我再执行一次install,不删除node_module的情况,竟然报错更加少了】!这时候我突然发现一句,may not problem ,可能不是问题,卧槽!这句话很关键啊,这个时候报我尝试直接run dev,竟然成功跑起来了附上我的操作


解决步骤

1、直接用了国外镜像源,使用anyconnect,
2、管理员身份运行cmd。
###如果你觉得你多次执行各种命令导致node_module已经被你整的很乱了,那么直接强制清理缓存
3、npm cache clean --force    
### 基本每次错误认为比较多的时候,就删除node_module再重新install
4、rm -rf node_modules
###如果installl过程中出现报错很诡异或者根本不应该报错,那么不妨再多执行一两次,我就是多执行了一两次发现最后错误只有一点点驱动那个问题了,然后还看见网上有说这个错误其实不影响运行,所以最后豁然开朗,跳出有错就直接删node_module又install的坑了。
5、npm install -save
6、如果报错,直接copy chromedriver那个目录替换,再继续install,剩下一点错误疑似没问题的时候直接run
###只有一点点错误或者没有错误了,可以直接run了
7、npm run dev
我两台机器都不成功的,这个搞一波都成功了,
方案二:这种方式貌似没有成功,我直接copy了另一个成功情况下的node_module下的chromedriven包,然后没注意是不是也成功了多次install且不去删除node_module的情况(待验证)

附上我坎坷的报错图片
记一次诡异的vue构建npm chromedriver错误_第1张图片

记一次诡异的vue构建npm chromedriver错误_第2张图片
记一次诡异的vue构建npm chromedriver错误_第3张图片
记一次诡异的vue构建npm chromedriver错误_第4张图片

你可能感兴趣的:(记一次诡异的vue构建npm chromedriver错误)