아래 명령으로 작곡가를 설치하려고 할 때 오늘 몇 가지 문제가 발생했습니다.
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
이 오류가 발생했습니다.
curl: (7) Failed to connect to getcomposer.org port 443: Network is unreachable
나는 googled 하고이 명령을 찾았다 .
echo ipv4 >> ~/.curlrc
나는 이것을 실행했고 문제를 해결했고 작곡가가 제대로 설치되었습니다.
그러나 위의 명령이 무엇인지 모르겠습니다. 누가 설명 할 수 있습니까?
답변
“ipv4″를 “curlrc”파일에 추가하면됩니다. 빈 파일로 시작하는 예 :
$ touch 1
$ more 1
$ echo ipv4 >> 1
$ more 1
ipv4
기본적으로 curl은 ipv4를 사용합니다.
매뉴얼은 그것에 대해 말을이있다 :
IPv6
curl은 호스트 조회가 IPv6 주소를 반환 할 때 IPv6을 사용하여 서버에 연결하고 연결이 실패하면 IPv4로 폴백합니다.
--ipv4
및--ipv6
옵션은 모두 사용할 수있을 때 사용할 주소를 지정할 수 있습니다. IPv6 주소는 구문을 사용하여 URL에 직접 지정할 수도 있습니다
답변
UNIX의 일반적인 규칙은 프로그램이 대개 사전 정의 된 다양한 파일에서 시작 구성을 읽는 것입니다. 이것은 POSIX 또는 다른 표준에 의해 정의 된 것이 아니라 전통 일뿐입니다. 예를 들어 일반적인 UNIX 프로그램 foobar
은 다음과 같은 우선 순위로 읽습니다.
~/.foobarrc ## User specific configuration parameters
/etc/foobarrc ## Global parameters, depending on taste
## `/etc/foobar/*(.conf)' might be chosen too
폴 백이있을 수 /usr/share/
있지만 일반적이지 않습니다.
따라서 curl
여기에 규칙을 따르고의 초기 구성을 읽으십시오 ~/.curlrc
. 그리고 수행함으로써 echo ipv4 >>~/.curlrc
, 당신은 ipv4
파일에 문자열 을 추가했습니다 ~/.curlrc
.
문자열은 ipv4
특별한 의미가있다 curl
– curl
다음 호스트 해상도의 IPv4를 사용합니다. 이것은 명령 줄에서 -4
/ ipv4
as curl
의 인수 를 사용하는 것과 유사 하지만 저장하여 ~/.curlrc
이것을 영구적으로 만듭니다.
ipv4
거기에 설정 하고 지금은 모든 것이 작동합니다. 아마도 IPv6을 구성했으며 curl
이전에 (성공한) 호스트 확인을 위해 IPv6을 사용했기 때문에 IPv4로 대체되지 않습니다. 모든 사이트에 IPv6 주소를 수신하도록 구성된 웹 서버가있는 것은 아니기 때문에 사이트 연결에 실패했습니다. 따라서이 socket()
경우에 볼 수 있듯이 호출이 실패합니다.