vuejs 还是有问题,报告一个 bug

2018-10-23 10:46:28 +08:00
 ericgui

容我慢慢道来:

build 和 deploy 失败的 log 都是一个:

6:03:50 PM: $ vue-cli-service build
6:03:50 PM: /bin/sh: 1: vue-cli-service: not found

error Command failed with exit code 127.

不管我怎么改,哪怕在 travis ci 写 script,把 Ubuntu 的 dash 替换为 bash ( askubuntu 上的),都失败!!

google 都反到第 10 页,也没见一个靠谱的回答。

vuejs 的 issue 里说是 npm 的问题,但兄弟我用 yarn

我已经没脾气了

5186 次点击
所在节点    全球工单系统
17 条回复
ericgui
2018-10-23 11:15:55 +08:00
我已经建了一个 issue

我刚刚发现,由于环境变量,只要设置了环境变量,立刻就失败了

https://github.com/vuejs/vue-cli/issues/2789
noe132
2018-10-23 11:15:57 +08:00
这种不是环境变量的问题么?
ericgui
2018-10-23 11:18:57 +08:00
@noe132 那应该怎么修改呢?真的不太会
66beta
2018-10-23 11:29:50 +08:00
最前面 yarn 安装一下
reus
2018-10-23 11:30:53 +08:00
6:03:50 PM: /bin/sh: 1: vue-cli-service: not found

意思是找不到这个命令

首先确认有这个程序,然后看看在不在 PATH 里
ericgui
2018-10-23 11:31:36 +08:00
@66beta 只要把环境变量去掉,一行代码不改又可以 build 成功

所以真的不知道问题出哪里了。
ericgui
2018-10-23 11:31:49 +08:00
@reus 只要把环境变量去掉,一行代码不改又可以 build 成功
reus
2018-10-23 11:33:57 +08:00
@ericgui 可能是加了环境变量,默认的环境变量就失效了,所以 PATH 失效,找不到命令
ericgui
2018-10-23 11:42:07 +08:00
@reus 有道理哈
binux
2018-10-23 11:53:15 +08:00
这就是构建环境差异的问题啊,CI 环境的 node 一般都不是全局的,你安装了也不一定会往系统 bin 下面放。
travis ci 如果是公开 build,你可以 email support 让他们给你开 ssh,你自己连上去一条条命令执行看就好了。
你搜不到解决方案,很大概率是因为你不知道问题出在哪,所以不知道怎么搜。你拿 vuejs+travis 之类的搜索,太具体了。
ericgui
2018-10-23 12:02:47 +08:00
@binux 所以我其实在考虑写个 dockerfile,travis yml 里写一个命令,执行这个脚本,等于是 docker 里构建好,再 deploy,

我猜是可行的

然而我不会用 docker
sodatea
2018-10-23 12:13:07 +08:00
怎么都反馈到 V2EX 上了……

我之前回复了说应该是 sudo 导致的环境变量覆盖问题,然后你试了一下出错,也不看错误 log 就 revert,就过来回复说不是这个问题。

然而仔细看 log https://travis-ci.org/whizjs/superjs/builds/444917286,这次出错的是 `sudo yarn install`,跟之前不一样,而 Travis 的 node 环境显然不是全局的(他们用了 nvm ),当然不成功……所以解决办法就是这些命令都不要用 sudo 去执行。

还好我去翻了一下 build history ……
ETiV
2018-10-23 12:25:47 +08:00
npm 加了个 npx,就是解决这 PATH 问题的

可以试一下
ericgui
2018-10-23 12:43:44 +08:00
@sodatea 老兄,Evan 估计不会喜欢你这样的态度
sodatea
2018-10-23 12:52:51 +08:00
@ericgui 我不是很懂,我哪里用词不当了吗?
ericgui
2018-10-23 12:59:51 +08:00
@ETiV travis 可以成功了,但其实是部署的时候,要环境变量,比如 netlify,加上环境变量,用 npx,可以 build 了,但又找不到 dist 目录了。。。。。

哎,我睡觉了。


多谢老兄指点!
klam
2018-10-23 16:14:28 +08:00
这不是你自己部署时候遇到的环境问题吗,跟 Vue 有啥关系?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/500114

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX