TmT / WxMoment-Workflow

微信朋友圈广告落地页前端工作流
19 stars 14 forks source link

npm install 时,总是卡在某个地方 #1

Closed Loyalsoldier closed 8 years ago

Loyalsoldier commented 9 years ago

如图:

_20151003004741

由于项目 https://github.com/wxc-team/WxMoment-Workflow 没有开放 issue,所以过来这边问了。 版本是 0.0.4

node 版本:0.12.7 npm 版本:node 附带

另外,该项目在运行 npm install 之前,是否需要先安装其他软件依赖?

willerce commented 9 years ago

@Loyalsoldier 如果是卡在某个地方,应该不是软件依赖的问题,依赖问题通常会出现 error 信息。 我个人认为比较可能是因为网络或者依赖包较多造成的,建议先用 CNPM 来排除一下网络问题。

npm install --registry=http://registry.npm.taobao.org
Loyalsoldier commented 9 years ago

@willerce 确实需要 Python 和 C 来编译一些插件。每次用 cnpm 都不成功,反倒用 npm 才行,npm 用了 shadowsocks 代理。

成功不成功,貌似有点碰运气。估计需要更新一下 devDependencies.

最近 node 升级 4.0 之后,很多依赖 C 编译的插件都会安装失败,所以 node 版本也是有要求的,需要与 io.js 合并前的版本,也就是 0.12.7

willerce commented 9 years ago

@Loyalsoldier 暂时还不支持 node 4.0,正在搞兼容了,应该很快就更新。

HaveF commented 8 years ago

@Loyalsoldier 我也卡在这里了,你现在解决了吗

Loyalsoldier commented 8 years ago

@HaveF 并没有。 你用的是 Windows 吗?

或者很大可能性是网络问题……

HaveF commented 8 years ago

嗯,用的是express 2013编译的,lwip-encoder编译不过去。

willerce commented 8 years ago

@Loyalsoldier @HaveF 已经重新做了 lwip 的预编译,添加了对 4.0 的支持,应该很快就会发布了。

HaveF commented 8 years ago

非常感谢!

Loyalsoldier commented 8 years ago

@HaveF 昨天晚上,我把电脑重装了,升级到了 Win10。按照 node-gyp 这个 repo 里面的方法,一步一步地安装 Python 2.7Visual Studio Community 2015……搞定了所有事情之后,插件 gulp-imagemin 这种平时总是安装失败的图片压缩插件都能安装成功了。如果平时也会遇到 gulp-imagemin 插件安装失败问题,建议你去看看。

但是这个 repo 中的 Workflow 还是有问题,我发现问题集中在 gulp-tmtsprite 这个插件上,看到报错信息里面,用到了 node-pre-gyp 这个项目的痕迹……推测应该是 node-pre-gyp 这个 repo 太旧了,没跟上 node 社区的节奏。

另外,建议 @willerce 用像 gulp.spritesmith 这种经常更新和有社区维护的雪碧图插件吧~~

Loyalsoldier commented 8 years ago

BTW,如果平时用 npm 或者 cnpm 安装不需要 C++ 来编译的插件都很顺畅的话。那么就不是网络问题。

另外建议去看看 node-gyp-install 这个 repo

willerce commented 8 years ago

@Loyalsoldier 不使用 gulp.spritesmith 的原因是因为我们当时考虑到环境依赖安装比较麻烦,所以自己动手做了一个 gulp-tmtsprite,我们提前预编译了二进制包,这样使用的时候可以不依赖编译环境。

老版本的 node-lwip 使用了 node-pre-gyp 这个项目,node-pre-gyp 已经跟上 node 新版本,但 gulp-tmtsprite 依赖的 node-lwip 一直没有更新上来。

昨天已经由 @littledu 来更新了这个项目,目前支持了 node 4.0 + Windows 环境的预编译了,可以尝试一下。

npm install node-lwip@0.1.0

https://www.npmjs.com/package/node-lwip

Loyalsoldier commented 8 years ago

@willerce 好的,谢谢!

HaveF commented 8 years ago

@Loyalsoldier 恭喜你成功了,我还没有:sob: @willerce 不好意思又来打扰,其实我还是不太明白。 我新建了一个目录,先npm install node-lwip@0.1.0,没有问题,但npm install gulp-tmtsprite显示错误如链接所示 我下一步应该怎么做?

另外gulp-tmtsprite是需要更新一下package.json中的node-lwip?

willerce commented 8 years ago

@HaveF 麻烦提供一下你的 node 和 windows 系统信息。

gulp-tmtsprite 中依赖的是 ~0.0.6 版本,默认会带第三位版本号最新的版本号,但我觉得可以更新一下,下个版本会更新依赖的 node-lwip 版本号。

HaveF commented 8 years ago

node是4.2.2,windows是win7 sc-2015-12-15_16_26_08

willerce commented 8 years ago

@HaveF 同事这边提醒了一下,现在 node-lwip 版本号已经更新到了 0.1.0 ,目前 gulp-tmtsprite 依赖的 ~0.0.6,确实无法拉到新版本的 node-lwip。我们马上修复这个问题,稍等。

willerce commented 8 years ago

@HaveF 请再次尝试一下 npm install gulp-tmtsprite@0.0.17

HaveF commented 8 years ago

感谢,可以用了:sparkling_heart: