前段时间根绝Vue-cli仿写了一个简单版本的cli应用在公司了,虽然也没什么人用,最近换本了,突然想起这个项目所以在新的电脑安装了一下试试 ******
开始
打开终端执行命令tujia-cli create
,自己写的东西命令还是记得牢啊 哈哈哈哈哈。
然后我就发现项目的命令无法执行,天啦撸发布的时候相当之ok的啊老铁,你怎么又不好使了啊!于是开始我就去我安装的目录上看了一眼,发现命令文件tujia-cli-create
不是一个可执行的文件,于是我就知道该怎么解决了,
解决方式大概是这样的:
- 在终端打开对应目录,(容我把后面部分目录用**代替)
/usr/local/lib/node_modules/**/bin/
执行命令chmod +x tujia-cli-create
这样文件就变成了可执行文件,但是仍旧没有解决,运行命令时还会报一个错误env: node\r: No such file or directory
(what’s fuck???)
于是又google一番,解决方式是安装 dos2unix
然后再去对应的目录执行 dos2unix tujia-cli-create
恩……这回倒是好了,可以用了,可是为什么呢???为什么呢???
于是我又google一下dos2unix
这个库是干什么用的,然后我就明白了。
根本原因是:这个项目之前是我在windows
本上开发的,所以项目中的命令文件格式会有所变化,导致在unix
环境下无法执行,dos2unix
就是把这种文件转化成unix
下可执行的文件
找到原因了就好解决了,于是我把文件内容复制一下,然后又删掉了,再新建一个文件,把内容复制进去,再在空白部分加一个空格(主要是为了提交git
),然后再publish
一下这个包OK问题解决
总结
经windows
系统编辑过的文件可能会导致文件无法在unix
环境下执行,可以在发布之前用dos2unix
这个库来修改一下文件格式就可以解决问题啦~~撒花撒花