遇到一个问题,引用stylus失败,已解决,但是有点困惑
背景如下:
npm目前升级到了5.0.3
npm install的时候目录会多一个package-lock.json这个文件
此时我在package.json的devDependencies中添加了
"stylus": "^0.54.5",
"stylus-loader": "^3.0.1"
然后在终端重新运行npm install的时候,项目中的node_modules并没有出现stylus文件夹
查了下资料说是新版本的坑
https://mp.weixin.qq.com/s?__...
给的解决办法是切换回之前的npm版本……
我的解决过程
1、删除package-lock.json,重新npm install,node_modules中出现了stylus文件夹了,然而还是报错
2、在终端直接运行 sudo npm install stylus-loader stylus --save-dev 结果就编译成功了
如有小伙伴有同样的问题,可以按照我这样试试,然后想问问大神们,这个有啥好的办法啊,莫非之后我在package.json里面写的依赖都要在终端自己指定安装一下……
这个我也发现了,我查了一下,是说这个是npm5.0 的坑,我的理解是想要安装只能指定版本。这是我在Stack Overflow看到的答案,不过外语不好,只能意会一部分。 你这个问题,分在vue.js 不是很好,可以换一下npm或者node.js试试,也许会有人更清楚。
https://stackoverflow.com/que...
……………………
17-12-7补充
这个package-lock.json 是npm 5 做的一个优化,加快了npm 下载的速度。条件就是将依赖的详细信息,包括版本,下载地址等,都写在了里面。然后想要更新版本的话,就不能够去通过修改package 里面的版本依赖来实现了,只能通过npm install packageName@version 来实现。
如果不对,欢迎指正。