npm 拷贝项目到内网环境报错vue-cli-service不是内部或外部命令......

本文记录了一位前端开发者在将mac系统上的项目复制到window系统内网环境时遇到的npm依赖启动问题。问题在于快捷方式在不同系统间的不兼容。尝试多种压缩解压方式、npm和yarn安装均未解决问题。最终解决方案是通过在window系统上直接使用npm安装,避免创建快捷方式,成功解决启动问题。

简介

为了巩固一下身为前端开发小菜鸟必备的脸面,从而让脸皮更加厚实一些,在这条道路活的更加滋润一些,故此开始整理一些项目中遇到的一些问题。
欢迎各位大牛莅临指导,从而让我在加厚脸皮的道路上走的更远,从而可以用脸皮挡子弹,挡导弹,挡核弹,然后无敌。哈哈哈!
这次遇到的问题是当完整的拷贝一份项目(包含node_modules依赖包)到内网环境时,它并不能正常的启动(内网已经下载好node,并且node和npm都是全局环境变量),会出现缺少vue-cli-service或者其他模块找不到的报错信息。

问题复现

设备

外网在mac系统上开发,要拷贝压缩打包一份到window系统上。

报错内容

在这里插入图片描述

探索原因

经过对比发现,在node_modules的.bin目录下,都是一些快捷方式(下面第一张图片),经过压缩文件夹再重新解压后发现,在window电脑上只包含一个指向真正资源的文件路径,通过文件路径可以找到真正的资源(下面第二张图片)。然而压缩后的文件并不是和原始项目一样是快捷方式,它无法直接指向真正的资源,因此在npm run serve的时候会报错。
在这里插入图片描述
在这里插入图片描述

探讨解决方法

  • 分别从tar、zip、tar.gz等不同的压缩方式,结合不同的压缩参数试图去解决存在快捷方式的问题,然而并没有什么用;
  • 从网上搜索了解到,是npm和cnpm打包方式的不同引起的这种问题,使用 npm install或者 cnpm install --by-npm,依然无用;抱着试一试的态度使用yarn去下载依赖,果然真的就是试一试,无效。
  • 不压缩,直接拷贝文件,花费时间太长,一个小时只拷贝了100mb,时间成本太高,划不来。
  • 当在npm中有本地缓存的时候,npm会率先从本地缓存中下载相应的依赖,如果找不到再去网上下载资源,因此我打算将本地依赖放到内网所在服务的npm下面,具有一定的实操性。然而在内网环境中使用npm install,总是报很多莫名其妙的错误,放弃。

最终解决方法

最终发现是mac系统和window系统对npm的支持存在一定的差异性,当在window系统使用npm install下载是不会创建快捷方式的,于是完美解决。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值