opened
eproxus
username_0
```
$ mix local.hex --force
wget: unrecognized option: n
BusyBox v1.23.2 (2015-08-28 09:32:37 GMT) multi-call binary.

Usage: wget [-csq] [-O FILE] [-Y on/off] [-P DIR] [-U AGENT] [-T SEC] URL...

Retrieve files via HTTP or FTP

	-s	Spider mode - only check file existence
	-c	Continue retrieval of aborted transfer
	-q	Quiet
	-P DIR	Save to DIR (default .)
	-T SEC	Network read timeout is SEC seconds
	-O FILE	Save to FILE ('-' for stdout)
	-U STR	Use STR for User-Agent header
	-Y	Use proxy ('on' or 'off')

** (Mix) Could not fetch data, please download manually from "https://s3.amazonaws.com/s3.hex.pm/installs/1.0.0/hex.ez" and copy it to "/home/dev/.mix/archives/hex.ez"
```
Mix cannot download Hex/Rebar on Busybox
issue
created
eksperimental
username_1
sweet that you found this one! :+1: 
I have been planning for a while to write some UnitTests for all shell scripts in Elixir, in different shells and OS
comment
created
ericmj
username_2
@username_0 Can you run `wget -V` to print the wget version?

@username_1 The shell scripts are being dropped in 1.1.0.
comment
created
eksperimental
username_1
@username_2 sweet! i had no idea about that, one less thing to maintain
comment
created
eproxus
username_0
@username_2 It is in the error output above (`BusyBox v1.23.2 (2015-08-28 09:32:37 GMT) multi-call binary.`). It's embedded in the Busybox multi-call binary and only supports the flags listed.

Would the shell scripts being dropped fix this issue?
comment
closed
ericmj
username_2
issue
created
ericmj
username_2
Hum, `v1.23.2` doesn't match any wget version. Do they just implement their own very basic version? I don't think we can fix the shell script if people reimplement their own wget and curl and they dont match the original flags.

1.1.0 will fix this issue, it will be out in ~1 month.
comment
created
eproxus
username_0
Busybox works differently. It has one big binary, which implements common utilities (of which `wget` is one):

```
~/backend $ busybox
BusyBox v1.23.2 (2015-08-28 09:32:37 GMT) multi-call binary.
BusyBox is copyrighted by many authors between 1998-2012.
Licensed under GPLv2. See source distribution for detailed
copyright notices.

Usage: busybox [function [arguments]...]
   or: busybox --list[-full]
   or: busybox --install [-s] [DIR]
   or: function [arguments]...

	BusyBox is a multi-call binary that combines many common Unix
	utilities into a single executable.  Most people will create a
	link to busybox for each function they wish to use and BusyBox
	will act like whatever it was invoked as.

Currently defined functions:
	[, [[, acpid, add-shell, addgroup, adduser, adjtimex, arp, arping, ash,
	awk, base64, basename, bbconfig, beep, blkid, blockdev, brctl, bunzip2,
	bzcat, bzip2, cal, cat, catv, chgrp, chmod, chown, chpasswd, chroot,
	chvt, cksum, clear, cmp, comm, conspy, cp, cpio, crond, crontab,
	cryptpw, cut, date, dc, dd, deallocvt, delgroup, deluser, depmod, df,
	diff, dirname, dmesg, dnsd, dnsdomainname, dos2unix, du, dumpkmap,
	dumpleases, echo, ed, egrep, eject, env, ether-wake, expand, expr,
	fakeidentd, false, fatattr, fbset, fbsplash, fdflush, fdformat, fdisk,
	fgrep, find, findfs, flock, fold, free, fsck, fstrim, fsync, ftpd,
	ftpget, ftpput, fuser, getopt, getty, grep, groups, gunzip, gzip, halt,
	hd, head, hexdump, hostid, hostname, httpd, hwclock, id, ifconfig,
	ifdown, ifenslave, ifup, inetd, init, inotifyd, insmod, install,
	ionice, iostat, ip, ipaddr, ipcalc, ipcrm, ipcs, iplink, iproute,
	iprule, iptunnel, kbd_mode, kill, killall, killall5, klogd, last, less,
	linuxrc, ln, loadfont, loadkmap, logger, login, logread, losetup, ls,
	lsmod, lsof, lspci, lsusb, lzcat, lzma, lzop, lzopcat, makemime,
	md5sum, mdev, mesg, microcom, mkdir, mkdosfs, mkfifo, mkfs.vfat, mknod,
	mkpasswd, mkswap, mktemp, modinfo, modprobe, more, mount, mountpoint,
	mpstat, mv, nameif, nanddump, nandwrite, nbd-client, nc, netstat, nice,
	nmeter, nohup, nologin, nslookup, ntpd, od, openvt, passwd, patch,
	pgrep, pidof, ping, ping6, pipe_progress, pkill, pmap, poweroff,
	powertop, printenv, printf, ps, pscan, pstree, pwd, pwdx, raidautorun,
	rdate, rdev, readahead, readlink, readprofile, realpath, reboot,
	reformime, remove-shell, renice, reset, resize, rev, rfkill, rm, rmdir,
	rmmod, route, run-parts, sed, sendmail, seq, setconsole, setfont,
	setkeycodes, setlogcons, setserial, setsid, sh, sha1sum, sha256sum,
	sha3sum, sha512sum, showkey, shuf, slattach, sleep, smemcap, sort,
	split, stat, strings, stty, su, sum, swapoff, swapon, switch_root,
	sync, sysctl, syslogd, tac, tail, tar, tee, telnet, test, tftp, time,
	timeout, top, touch, tr, traceroute, traceroute6, true, tty, ttysize,
	tunctl, udhcpc, udhcpc6, udhcpd, umount, uname, unexpand, uniq,
	unix2dos, unlink, unlzma, unlzop, unxz, unzip, uptime, users, usleep,
	uudecode, uuencode, vconfig, vi, vlock, volname, wall, watch, watchdog,
	wc, wget, which, who, whoami, whois, xargs, xzcat, yes, zcat
```
comment
created
eproxus
username_0
Then let's wait for 1.1.0, currently running wget manually is working for me.

That being said, Busybox is a very common embedded Linux environment so it is not just "people implementing their own flags." In general, I guess it is bad relying on shell commands if Elixir/Mix is supposed to run on Windows, OS X, FreeBSD, Linux etc.
comment