운영 체제: 리눅스 민트 18.3. 우분투와 유사합니다.
Linux와 마찬가지로 소프트웨어를 설치하는 방법을 잘 모릅니다.
- 이미 시스템에 있습니까? 이 경우에는 그렇습니다. 하지만 오래되었습니다: 4.2.6. 이 글을 쓰는 시점에서 현재 LTS 버전은 10.16.3입니다.
- 적절한 것을 사용해야합니까?
- 소프트웨어 관리자를 사용해야 합니까?
- PPA를 사용해야 하나요?
- zip 파일을 다운로드해서 압축을 풀어야 하나요?
다른 사용자의 소프트웨어 관리자 리뷰는 "최신 버전을 얻으려면 여기로 이동하세요"였습니다(https://github.com/nodesource/distributions/blob/master/README.md#installation-instructions)
첫 번째 명령은
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
실패합니다.
>
mike@M17A ~ $ curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
[sudo] password for mike:
## Installing the NodeSource Node.js 10.x repo...
## Populating apt-get cache...
+ apt-get update
Ign:1 http://dl.google.com/linux/chrome/deb stable InRelease
Hit:2 http://archive.ubuntu.com/ubuntu xenial InRelease
Hit:3 http://dl.google.com/linux/chrome/deb stable Release
Hit:4 http://ppa.launchpad.net/adabbas/1stppa/ubuntu xenial InRelease
Get:5 http://archive.ubuntu.com/ubuntu xenial-updates InRelease [109 kB]
Get:6 http://security.ubuntu.com/ubuntu xenial-security InRelease [109 kB]
... // then many messages like this:
Ign:42 https://mirrors.evowise.com/mariadb/repo/10.2/ubuntu serena/main all Packages
Ign:43 https://mirrors.evowise.com/mariadb/repo/10.2/ubuntu serena/main Translation-en_GB
Ign:44 https://mirrors.evowise.com/mariadb/repo/10.2/ubuntu serena/main Translation-en_GB
Ign:44 https://mirrors.evowise.com/mariadb/repo/10.2/ubuntu serena/main Translation-en
Fetched 329 kB in 23s (14.0 kB/s)
Reading package lists... Done
W: An error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: http://repository.spotify.com stable InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 4773BD5E130D1D45
W: The repository 'https://mirrors.evowise.com/mariadb/repo/10.1/ubuntu serena Release' does not have a Release file.
N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use.
N: See apt-secure(8) manpage for repository creation and user configuration details.
W: The repository 'https://mirrors.evowise.com/mariadb/repo/10.2/ubuntu serena Release' does not have a Release file.
N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use.
N: See apt-secure(8) manpage for repository creation and user configuration details.
W: Failed to fetch http://repository.spotify.com/dists/stable/InRelease The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 4773BD5E130D1D45
E: Failed to fetch https://mirrors.evowise.com/mariadb/repo/10.1/ubuntu/dists/serena/main/binary-amd64/Packages 404 Not Found
E: Failed to fetch https://mirrors.evowise.com/mariadb/repo/10.2/ubuntu/dists/serena/main/binary-amd64/Packages 404 Not Found
W: Some index files failed to download. They have been ignored, or old ones used instead.
Error executing command, exiting
...이 모든 mariadb 명령이 무엇에 관한 것인지 잘 모르겠습니다. 내 시스템에 MariaDB가 있는데 뭔가 잘못될까봐 걱정됩니다.
다음 명령을 시도하면 이것이 실패했음을 나타내는 것 같습니다.
mike@M17A ~ $ sudo apt-get install -y nodejs
Reading package lists... Done
Building dependency tree
Reading state information... Done
nodejs is already the newest version (4.2.6~dfsg-1ubuntu4.2).
0 to upgrade, 0 to newly install, 0 to remove and 600 not to upgrade.
...즉, 시스템은 여전히 4.2.6을 최신 버전으로 생각합니다.
보다 일반적으로 Linux에 새 소프트웨어를 설치하기 위한 프로토콜은 정확히 무엇입니까? 위의 번호 목록(1~5)이 올바른 접근 방식입니까? 전문가는 새 소프트웨어를 설치할 때 어떤 우선순위를 사용합니까?
나는 그런 다음 시도했다
sudo apt-get update
실패가 문제의 근원인 것 같습니다 .
다른 질문에서 영감을 받아 다음을 시도했습니다.
sudo rm /var/lib/apt/lists/* -vf
다음은 다음과 같습니다.
sudo apt-get update
더 많은 오류 및 경고 목록은 나에게 큰 의미가 없습니다.
...
Err:40 https://mirrors.evowise.com/mariadb/repo/10.2/ubuntu serena/main amd64 Packages
404 Not Found
Ign:41 https://mirrors.evowise.com/mariadb/repo/10.2/ubuntu serena/main i386 Packages
Ign:42 https://mirrors.evowise.com/mariadb/repo/10.2/ubuntu serena/main all Packages
Ign:43 https://mirrors.evowise.com/mariadb/repo/10.2/ubuntu serena/main Translation-en_GB
Ign:44 https://mirrors.evowise.com/mariadb/repo/10.2/ubuntu serena/main Translation-en
Fetched 329 kB in 28s (11.6 kB/s)
Reading package lists... Done
W: An error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: http://repository.spotify.com stable InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 4773BD5E130D1D45
W: The repository 'https://mirrors.evowise.com/mariadb/repo/10.1/ubuntu serena Release' does not have a Release file.
N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use.
N: See apt-secure(8) manpage for repository creation and user configuration details.
W: The repository 'https://mirrors.evowise.com/mariadb/repo/10.2/ubuntu serena Release' does not have a Release file.
N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use.
N: See apt-secure(8) manpage for repository creation and user configuration details.
W: Failed to fetch http://repository.spotify.com/dists/stable/InRelease The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 4773BD5E130D1D45
E: Failed to fetch https://mirrors.evowise.com/mariadb/repo/10.1/ubuntu/dists/serena/main/binary-amd64/Packages 404 Not Found
E: Failed to fetch https://mirrors.evowise.com/mariadb/repo/10.2/ubuntu/dists/serena/main/binary-amd64/Packages 404 Not Found
W: Some index files failed to download. They have been ignored, or old ones used instead.
나중에 github 페이지에서 "수동 설치"를 시도했습니다 ... 같은 방식으로 실패합니다.
mike@M17A ~ $ VERSION=node_10.16.3
mike@M17A ~ $ DISTRO="$(lsb_release -s -c)"
mike@M17A ~ $ echo "deb https://deb.nodesource.com/$VERSION $DISTRO main" | sudo tee /etc/apt/sources.list.d/nodesource.list
deb https://deb.nodesource.com/node_10.16.3 sylvia main
mike@M17A ~ $ echo "deb-src https://deb.nodesource.com/$VERSION $DISTRO main" | sudo tee -a /etc/apt/sources.list.d/nodesource.list
deb-src https://deb.nodesource.com/node_10.16.3 sylvia main
mike@M17A ~ $ sudo apt-get update
Hit:1 http://ppa.launchpad.net/adabbas/1stppa/ubuntu xenial InRelease
...
Ign:57 https://deb.opera.com/opera-stable stable/non-free Translation-en
Err:58 https://deb.opera.com/opera-stable stable/non-free amd64 Packages
503 Backend unavailable, connection timeout
Ign:59 https://deb.opera.com/opera-stable stable/non-free i386 Packages
Fetched 3,316 B in 34s (95 B/s)
Reading package lists... Done
W: The repository 'https://deb.nodesource.com/node_10.x sylvia Release' does not have a Release file.
N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use.
N: See apt-secure(8) manpage for repository creation and user configuration details.
W: GPG error: http://repository.spotify.com stable InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 4773BD5E130D1D45
W: The repository 'http://repository.spotify.com stable InRelease' is not signed.
N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use.
N: See apt-secure(8) manpage for repository creation and user configuration details.
W: The repository 'https://mirrors.evowise.com/mariadb/repo/10.1/ubuntu serena Release' does not have a Release file.
N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use.
N: See apt-secure(8) manpage for repository creation and user configuration details.
W: The repository 'https://mirrors.evowise.com/mariadb/repo/10.2/ubuntu serena Release' does not have a Release file.
N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use.
N: See apt-secure(8) manpage for repository creation and user configuration details.
W: The repository 'https://deb.opera.com/opera-stable stable Release' does not have a Release file.
N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use.
N: See apt-secure(8) manpage for repository creation and user configuration details.
E: Failed to fetch https://deb.nodesource.com/node_10.x/dists/sylvia/main/binary-amd64/Packages 404 Not Found
E: Failed to fetch https://mirrors.evowise.com/mariadb/repo/10.1/ubuntu/dists/serena/main/binary-amd64/Packages 404 Not Found
E: Failed to fetch https://mirrors.evowise.com/mariadb/repo/10.2/ubuntu/dists/serena/main/binary-amd64/Packages 404 Not Found
E: Failed to fetch https://deb.opera.com/opera-stable/dists/stable/non-free/binary-amd64/Packages 503 Backend unavailable, connection timeout
E: Some index files failed to download. They have been ignored, or old ones used instead.
답변1
설치하면 Linux 배포판에서 안정적인 것으로 테스트된 버전을 얻게 됩니다 node.js
. sudo apt install nodejs
이는 또한 상당히 오래된 버전의 소프트웨어를 받게 되며 일부 패키지는 해당 소프트웨어의 사용을 거부한다는 의미이기도 합니다. 예를 들어, Rocket.Chat
require 의 현재 버전은 10.x와 비슷 node.js >= 12
하지만 내 공식 버전은 10.x입니다. Ubuntu 20.04
질문을 작성할 당시에는 꽤 새로운 질문이었을 것이므로 다음 명령을 사용했습니다.
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
버전을 설치하는 스크립트를 실행합니다 node.js-10.x
.
내가 알 수 있는 한, 스크립트가 불평하는 문제는 사용 중인 일부 저장소에 대한 공개 키를 찾을 수 없다는 것입니다. 주요 문제는 root
사용자의 이상한 설정 으로 인해 발생하는 경우가 많으며 , 이로 인해 키 파일에 대한 잘못된 권한이 발생합니다.
해결책은 디렉토리 권한을 확인하는 것입니다
$ ls -l /etc/apt/sources.list.d/
$ ls -l /usr/share/keyrings/
다음과 같아야 합니다( -rw-r--r--
예, 허가 644
).
-rw-r--r-- 1 root root 2206 Aug 25 00:40 nodesource.gpg
일부 파일의 출력이 다른 경우 수동으로 변경하십시오.
sudo chmod 644 /usr/share/keyrings/nodesource.gpg
답변2
나는 성공했다. 마침내 설치 스크립트를 조정해야 한다는 것을 깨달았습니다.
구체적으로 이것은 다음과 같습니다.여기. 그러나 CURL 명령을 실행하는 대신 해당 URL에서 스크립트를 다운로드하고 "apt-get update"로 이 두 줄을 주석 처리한 다음 파일 이름을 지정하고 실행 가능하게 만들고 실행했습니다.
그럼 나는 갔다
sudo apt-get update
그럼 나는 갔다
sudo apt-get install nodejs
그 이유는 apt-get update
현재 내 시스템에서 오류가 반환되고나타나다소스 목록에 PPA를 설정하기 전에 스크립트가 종료됩니다(올바른 용어인가요?). 나는 이것에 대해 틀릴 수 있습니다. 나는 낮은 수준의 Linux 사용자입니다.
스크립트가 필요한 것 같습니다. 특히 파일이 내 시스템에 있는 "Linux Mint"-"sylvia"에서 "Ubuntu"-"xenial"로 "번역"되는 섹션이 있다는 것을 알았습니다. 실제로 다운로드 사이트에는 ".../Linux Mint/sylvia/..."라는 URL이 존재하지 않고 404를 반환합니다.