RVM failed writing to body [closed] - ruby

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed 9 years ago.
Improve this question
I am trying to install RVM on my Mac running the latest OS.
I first tried
$ \curl -L https://get.rvm.io | bash -s stable
Cannot open for reading: "stable"
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 184 100 184 0 0 181 0 0:00:01 0:00:01 --:--:-- 181
100 15779 100 15779 0 0 11505 0 0:00:01 0:00:01 --:--:-- 98618
(23) Failed writing body
I then tried dropping the stable
$ \curl -L https://get.rvm.io | bash -s
VIM - Vi IMproved 7.3 (2010 Aug 15, compiled Aug 24 2013 18:58:47)
Argument missing after: "-s"
More info with: "vim -h"
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 184 100 184 0 0 148 0 0:00:01 0:00:01 --:--:-- 148
100 15779 100 15779 0 0 7706 0 0:00:02 0:00:02 --:--:-- 30698
(23) Failed writing body
I have also tried the following
$ \curl -L https://get.rvm.io | bash
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0Vim: Warning: Input is not from a terminal
100 184 100 184 0 0 111 0 0:00:01 0:00:01 --:--:-- 111
100 15779 100 15779 0 0 8689 0 0:00:01 0:00:01 --:--:-- 8300k
Vim: Error reading input, exiting...
Vim: preserving files...
Vim: Finished.

How about \curl -L https://get.rvm.io | bash?
The installation page for RVM is essential reading.

Related

curl long url with query parameters

I am trying to curl a long URL like the following and save it into a file:
https://instagram.fwlg2-1.fna.fbcdn.net/v/t51.2885-15/277901819_162489612877754_7456098591865793913_n.jpg?stp=dst-jpg_e35&_nc_ht=instagram.fwlg2-1.fna.fbcdn.net&_nc_cat=102&_nc_ohc=gKuf2i9Vj5MAX-prxmR&edm=AABBvjUBAAAA&ccb=7-4&ig_cache_key=MjgxMDI0MDUzNDIyMTEzNzMyOQ%3D%3D.2-ccb7-4&oh=00_AT9BhJfQrBULLiNNXWfLQjhog3T8szmLRvMUEfWqE-cQIQ&oe=6266DFF7&_nc_sid=83d603
where the filename should be only 277901819_162489612877754_7456098591865793913_n.jpg
curl "https://instagram.fwlg2-1.fna.fbcdn.net/v/t51.2885-15/277901819_162489612877754_7456098591865793913_n.jpg?stp=dst-jpg_e35&_nc_ht=instagram.fwlg2-1.fna.fbcdn.net&_nc_cat=102&_nc_ohc=gKuf2i9Vj5MAX-prxmR&edm=AABBvjUBAAAA&ccb=7-4&ig_cache_key=MjgxMDI0MDUzNDIyMTEzNzMyOQ%3D%3D.2-ccb7-4&oh=00_AT9BhJfQrBULLiNNXWfLQjhog3T8szmLRvMUEfWqE-cQIQ&oe=6266DFF7&_nc_sid=83d603" doesnt save it to a file
Okay, so you have tried the -o and -O options, but they don't seem to do what you want.
$ curl -o 'https://instagram.fwlg2-1.fna.fbcdn.net/v/t51.2885-15/277901819_162489612877754_7456098591865793913_n.jpg?stp=dst-jpg_e35&_nc_ht=instagram.fwlg2-1.fna.fbcdn.net&_nc_cat=102&_nc_ohc=gKuf2i9Vj5MAX-prxmR&edm=AABBvjUBAAAA&ccb=7-4&ig_cache_key=MjgxMDI0MDUzNDIyMTEzNzMyOQ%3D%3D.2-ccb7-4&oh=00_AT9BhJfQrBULLiNNXWfLQjhog3T8szmLRvMUEfWqE-cQIQ&oe=6266DFF7&_nc_sid=83d603'
curl: no URL specified!
curl: try 'curl --help' or 'curl --manual' for more information
This fails because -o requires you to specify the filename yourself. The correct way to use -o is to specify the filename yourself:
$ curl -o '277901819_162489612877754_7456098591865793913_n.jpg' 'https://instagram.fwlg2-1.fna.fbcdn.net/v/t51.2885-15/277901819_162489612877754_7456098591865793913_n.jpg?stp=dst-jpg_e35&_nc_ht=instagram.fwlg2-1.fna.fbcdn.net&_nc_cat=102&_nc_ohc=gKuf2i9Vj5MAX-prxmR&edm=AABBvjUBAAAA&ccb=7-4&ig_cache_key=MjgxMDI0MDUzNDIyMTEzNzMyOQ%3D%3D.2-ccb7-4&oh=00_AT9BhJfQrBULLiNNXWfLQjhog3T8szmLRvMUEfWqE-cQIQ&oe=6266DFF7&_nc_sid=83d603'
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 175k 100 175k 0 0 85047 0 0:00:02 0:00:02 --:--:-- 85527
You haven't really explained why this isn't satisfactory, so I'll assume that you are getting the URL from user input or a file or something.
This is what the -O option is for. But it turns up another problem:
$ curl -O 'https://instagram.fwlg2-1.fna.fbcdn.net/v/t51.2885-15/277901819_162489612877754_7456098591865793913_n.jpg?stp=dst-jpg_e35&_nc_ht=instagram.fwlg2-1.fna.fbcdn.net&_nc_cat=102&_nc_ohc=gKuf2i9Vj5MAX-prxmR&edm=AABBvjUBAAAA&ccb=7-4&ig_cache_key=MjgxMDI0MDUzNDIyMTEzNzMyOQ%3D%3D.2-ccb7-4&oh=00_AT9BhJfQrBULLiNNXWfLQjhog3T8szmLRvMUEfWqE-cQIQ&oe=6266DFF7&_nc_sid=83d603'
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0Warning: Failed to create the file
Warning: 277901819_162489612877754_7456098591865793913_n.jpg?stp=dst-jpg_e35&_n
Warning: c_ht=instagram.fwlg2-1.fna.fbcdn.net&_nc_cat=102&_nc_ohc=gKuf2i9Vj5MAX
Warning: -prxmR&edm=AABBvjUBAAAA&ccb=7-4&ig_cache_key=MjgxMDI0MDUzNDIyMTEzNzMyO
Warning: Q%3D%3D.2-ccb7-4&oh=00_AT9BhJfQrBULLiNNXWfLQjhog3T8szmLRvMUEfWqE-cQIQ&
Warning: oe=6266DFF7&_nc_sid=83d603: File name too long
0 175k 0 1492 0 0 1406 0 0:02:07 0:00:01 0:02:06 1426
curl: (23) Failure writing output to destination
Depending on your system, perhaps this succeeded, but the filename wasn't what you wanted. This is trying to include the entire query string in the filename.
This seems about all you can do with curl as it stands. You either have to determine the filename yourself (such as with sed) and pass it with the -o option, or you need to use something other than curl.
I note that HTTPie handles this like you'd hope. Perhaps you could use it instead of curl?
$ http --download 'https://instagram.fwlg2-1.fna.fbcdn.net/v/t51.2885-15/277901819_162489612877754_7456098591865793913_n.jpg?stp=dst-jpg_e35&_nc_ht=instagram.fwlg2-1.fna.fbcdn.net&_nc_cat=102&_nc_ohc=gKuf2i9Vj5MAX-prxmR&edm=AABBvjUBAAAA&ccb=7-4&ig_cache_key=MjgxMDI0MDUzNDIyMTEzNzMyOQ%3D%3D.2-ccb7-4&oh=00_AT9BhJfQrBULLiNNXWfLQjhog3T8szmLRvMUEfWqE-cQIQ&oe=6266DFF7&_nc_sid=83d603'
HTTP/1.1 200 OK
Cache-Control: max-age=1209600, no-transform
Connection: keep-alive
Content-Length: 179351
Content-Type: image/jpeg
Date: Thu, 21 Apr 2022 12:25:45 GMT
Last-Modified: Wed, 06 Apr 2022 06:31:15 GMT
X-FB-Server-Cluster-Forwarded: syd2c01
X-Frame-Options: DENY
content-digest: adler32=3445021316
cross-origin-resource-policy: same-origin
timing-allow-origin: *
x-haystack-needlechecksum: 1987900843
x-needle-checksum: 1431545784
Downloading 175.15 kB to "277901819_162489612877754_7456098591865793913_n.jpg"
Done. 175.15 kB in 1.08534s (161.38 kB/s)
You curl command is missing quote, it should be:
curl -o a.jpg 'https://instagram.fwlg2-1.fna.fbcdn.net/v/t51.2885-15/277901819_162489612877754_7456098591865793913_n.jpg?stp=dst-jpg_e35&_nc_ht=instagram.fwlg2-1.fna.fbcdn.net&_nc_cat=102&_nc_ohc=gKuf2i9Vj5MAX-prxmR&edm=AABBvjUBAAAA&ccb=7-4&ig_cache_key=MjgxMDI0MDUzNDIyMTEzNzMyOQ%3D%3D.2-ccb7-4&oh=00_AT9BhJfQrBULLiNNXWfLQjhog3T8szmLRvMUEfWqE-cQIQ&oe=6266DFF7&_nc_sid=83d603'

installing docker-compose using standard procedure gives "permission denied"

I have done this many times but this is new.
Just following the docker-compose install from docker.com
$ sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 633 100 633 0 0 2082 0 --:--:-- --:--:-- --:--:-- 2075
100 12.1M 100 12.1M 0 0 5940k 0 0:00:02 0:00:02 --:--:-- 10.8M
sudo chmod +x /usr/local/bin/docker-compose
$ docker-compose --version
-bash: /usr/local/bin/docker-compose: Permission denied
What is going wrong here ? It used to work before.

Expect script to install Vagrant - terminating for no apparent reason

I am running a simple expect script that uses curl to pull the vagrant dmg, attaches it, installs it and proves password and then detaches.
Individually all the commands execute at the command line and the install works.
However when executing inside of the script it terminates after the curl completes.
#!/usr/bin/expect -f
set timeout 60
exec curl -O https://releases.hashicorp.com/vagrant/2.2.2/vagrant_2.2.2_x86_64.dmg
exec hdiutil attach vagrant_2.2.2_x86_64.dmg
spawn sudo installer -package /Volumes/Vagrant/vagrant.pkg -target /
expect "*?assword" { send “password” }
spawn hdiutil unmount /Volumes/Vagrant
The output I get is (concatenated):
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
1 31.2M 1 563k 0 0 2218k 0 0:00:14 --:--:-- 0:00:01 8873k
97 31.2M 97 30.5M 0 0 9628k 0 0:00:03 0:00:03 --:--:-- 9627k
100 31.2M 100 31.2M 0 0 9668k 0 0:00:03 0:00:03 --:--:-- 9667k
while executing
"exec curl -O https://releases.hashicorp.com/vagrant/2.2.2/vagrant_2.2.2_x86_64.dmg"
(file "./vag" line 9)
At which time the script terminates.
Tcl's exec would fail if the executed command outputs anything to stderr.
curl outputs the download progress info to stderr .
So you need to ask exec to ignore the output to stderr: exec -ignorestderr curl ...

Reduce output of curl command

When I run a curl command against my non-running server, I get below output.
I only want
Failed to connect: Connection Refused
How can I remove the extra output. If I run --silent, it suppress everything.
I get this o/p for curl http://localhost:300/index.html
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 9626 100 9626 0 0 148k 0 --:--:-- --:--:-- --:--:-- 149k
Failed to connect: Connection Refused
yes! using -s, --silent along with -S, --show-error is the right option.
Curl gives me the compressed output by default, but try:
curl --compressed http://localhost:300/index.html
By contrast --verbose returns more lengthy output.
man curl will show you all the options available to you.
Looks like I need to use -sS. man curl will show you all the options available to you.

RVM installation: `/usr/local/rvm': Permission denied

demas#demas:~$ sudo rm -rf /etc/rvmrc /etc/profile.d/rvm.sh /usr/local/rvm
demas#demas:~$ curl -L https://get.rvm.io | bash -s stable
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 184 100 184 0 0 218 0 --:--:-- --:--:-- --:--:-- 308
100 13145 100 13145 0 0 12150 0 0:00:01 0:00:01 --:--:-- 12150
mkdir: cannot create directory `/usr/local/rvm': Permission denied
How can I fix it ?
As a quick variant of eliminating this problem you can create rvm directory and allow everyone to write to it:
sudo mkdir /usr/local/rvm; sudo chmod a+xwr /usr/local/rvm
you need to clean shell environment variables before start new installation, th easiest way is to logout and login again.
I added the sudo on the right side of the '|' before the bash` and it seems to work:
curl -sSL https://get.rvm.io | sudo bash -s -- --version latest**
Result: Downloading https://github.com/wayneeseguin/rvm/archive/1.26.10.tar.gz
Downloading

Resources