现在都是容器技术,用 vagrant 或者 docker 布一个 linux 的镜像,安装些 linux 的工具链,比如 g++ php ngingx 等等,分享给其他人拷个镜像就可以了,如果你不像用 vagrant,又在寻找个能执行 php 或者 node 的服务器,如果有又想带着 U 盘跑,恰好你又工作在 windows 平台上,那么去 https://bitnami.com/stacks/infrastructure 下载个安装包,用 mlink 命令在其他磁盘或者 U 盘上做个链接,然后放心的默认安装到 C 盘,然后配置 scripts\setenv.bat
将一些常用工具加入到 PATH 。以后就带着 U 盘跑吧,不同的机器再执行下 mlink 链接下目录就好。
用 AHK 打造一个在资源管理器按快捷键就呼出 cmd 窗且执行 setenv.bat 的程序,每次在 github clone 完或者下载个仓库的包,解压后就按 F4(AHK 实现) 呼出 cmd, 愉快的执行吧。
必要时可以切换到 git bash 执行,一般不需要,bat vbs node php python 脚本随意写,呼出 cmd 运行即可。
安装完 msys2 后用 doskey 映射一下,快速启动
doskey msys2="C:\Windows\System32\cmd.exe" /A /Q /K "C:\nginxstack\msys64\msys2_shell.bat"
doskey mingw32="C:\Windows\System32\cmd.exe" /A /Q /K "C:\nginxstack\msys64\mingw32_shell.bat"
doskey mingw64="C:\Windows\System32\cmd.exe" /A /Q /K "C:\nginxstack\msys64\mingw64_shell.bat"
在 mingw32_shell.bat 下编译一个 lua
curl -R -O http://www.lua.org/ftp/lua-5.3.2.tar.gz
tar zxf lua-5.3.2.tar.gz
cd lua-5.3.2/src
make mingw && cd .. && make install
linux 下的 /usr
目录被映射到了 C:\nginxstack\msys64\usr
,编译安装后的文件都放在这里。
运行时缺少 libgcc_s_dw2-1.dll
运行时库,修改 lua-5.3.2/src/Makefile
编译选项
CC= gcc -std=gnu99 -static-libgcc
修改 lua-5.3.2/Makefile
拷贝 dll 文件到 /usr/local/bin
TO_BIN= lua luac lua53.dll
重新编译安装
cd src
make clean
make mingw && cd .. && make install
测试
lua -v
安装 luarocks
既然安装了 msys2,那么就下载 unix 平台下的包编译执行。
curl -R -O https://keplerproject.github.io/luarocks/releases/luarocks-2.3.0.tar.gz
tar zxf luarocks-2.3.0.tar.gz
cd luarocks-2.3.0
make build
make install
直接在 msys2 shell 下执行 luarocks 不认目录,只能在 windows cmd 下运行
links
- MinGW 使用 Gcc 4.5.X 產生的執行檔需要 Libgcc_s_dw2-1.Dll 與 Libstdc++-6.Dll 才能執行?
- Msys2+mingw-w64 编译VS2013使用的ffmpeg静态库注意事项