sudo: npm: 명령을 찾을 수 없습니다.
노드의 최신 버전으로 업그레이드하려고 합니다.저는 http://davidwalsh.name/upgrade-nodejs 의 지침을 따르고 있습니다.
하지만 내가 할 때:
sudo npm install -g n
오류가 발생했습니다.
sudo: npm: command not found
npm은 sudo 없이 작동합니다.내가 할 때:
whereis node
알겠습니다.
node: /usr/bin/node /usr/lib/node /usr/bin/X11/node /usr/local/node
실행 중:
which npm
표시:
/usr/local/node/bin/npm
https://stackoverflow.com/a/5062718/1246159 에서 이 솔루션을 사용해 보았습니다.
하지만 여전히 같은 오류가 발생하고 있습니다.저는 또한 그것을 보았습니다./etc/sudoers
파일 및 관련 라인:
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
이것이 저에겐 좋아보입니다.어떻게 하면 NPM이 sudo 명령으로 작업하도록 할 수 있습니까?
해야만 했어요
sudo apt-get install npm
그게 나한테 효과가 있었어요.
은 npm 파일있합니다로 해야 ./usr/local/bin/npm
없으면 웹 사이트에서 패키지와 함께 node.js를 다시 설치합니다.제 경우에는 효과가 있었습니다.
MAC 사용자의 경우 다음 단계가 저에게 효과가 있었습니다.
Brew에 대한 오류가 표시되면 터미널에 먼저 입력해야 하는 명령은 다음과 같습니다.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
Then run following commands:
$ brew update
$ brew uninstall node
$ brew install node
$ brew postinstall
저도 같은 문제가 있었습니다. 다음은 이 문제를 해결하기 위한 명령입니다.
sudo ln -s /usr/local/bin/node /usr/bin/node
sudo ln -s /usr/local/lib/node /usr/lib/node
sudo ln -s /usr/local/bin/npm /usr/bin/npm
sudo ln -s /usr/local/bin/node-waf /usr/bin/node-waf
편집 **
경고! - 실행 중chmod 777
상당히 급진적인 해결책입니다.먼저 한 번에 하나씩 시도하고 작업할 때 중지합니다.
$ sudo chmod -R 777 /usr/local/lib/node_modules/npm
$ sudo chmod -R 777 /usr/local/lib/node_modules
$ sudo chmod g+w /usr/local/lib
$ sudo chmod g+rwx /usr/local/lib
$ brew postinstall node
하는 유일한 입니다.
Permission denied - /usr/local/lib/node_modules/npm/.github
그래서 저는
// !! READ EDIT ABOVE BEFORE RUNNING THIS CODE !!
$ sudo chmod -R 777 /usr/local/lib
$ brew postinstall node
그리고 비올라, NPM은 이제 연결되어 있습니다.
$ npm -v
3.10.10
추가의
를 했다면,-R 777
libmy에서는 중첩된 파일 및 디렉터리를 기본 설정으로 설정하는 것이 좋습니다.
- $
find /usr/local/lib -type f -print -exec chmod 644 {} \;
- $
find /usr/local/lib -type d -print -exec chmod 755 {} \;
- $
chmod /usr/local/lib 755
저는 다음을 해야 했습니다.
brew update
brew uninstall node
- https://nodejs.org/en/ 에 방문하여 파일을 다운로드합니다.
- 다운로드한 파일 설치
node/npm을 nvm과 함께 설치한 경우 nvm 환경 구성 파일을 실행해야 두 패키지 중 하나를 사용할 수 있습니다.
이 문제는 일반적으로 ~/.nvm/nvm.sh 에서 확인할 수 있습니다.
이를 자동으로 실행하려면 다음을 포함합니다.
source ~/.nvm/nvm.sh
사용자의 .vmdk_profile 파일에서
그런 다음 해당 사용자와 함께 sudo를 사용하려면 sudo가 사용자 환경을 설정하도록 -i 매개 변수를 포함해야 합니다.예를 들어
sudo -iu jenkins npm install grunt-cli
심볼릭 링크와 그 기능을 만들 수 있습니다.
- 의 경로를 .
npm
which npm
- 다음 명령을 사용하여 심볼릭 링크 만들기
sudo ln -s **which/npm** /usr/local/bin/npm
- 테스트 및 확인.
sudo npm -v
를 받아 는 sudo의 npm 패키지를 설치해야 합니다./usr/bin/npm
사용할 수 있어야 합니다.한다면npm
디렉터리에 합니다. 다음과 같은 .
sudo ln -s /usr/local/bin/npm /usr/bin/npm
Fedora 25, node 8.0.0 및 npm 5.0.0에서 작동합니다.
macOS에서 이것은 저에게 효과가 있었습니다.
brew reinstall node
포 센트OS 사용자는 다음과 같은 이점을 누릴 수 있습니다.
sudo yum install npm
노드 설치 후 데비안의 경우 입력
curl -k -O -L https://npmjs.org/install.sh
ln -s /usr/bin/nodejs /usr/bin/node
sh install.sh
재설치만 하면 됩니다.
RHEL, CentOS 및 Fedora에서
sudo yum remove nodejs npm
sudo dnf remove nodejs npm [On Fedora 22+ versions]
그리고나서
yum -y install nodejs npm
dnf -y install nodejs npm [On Fedora 22+ versions]
쉬워요! 노드와 npm 둘 다 지금은 매력적으로 작동합니다!
npm 및 노드에 대한 심볼 링크를 빠르고 간단하게 생성하여 이 문제를 해결할 수 있습니다.
sudo ln -s $(which npm) /usr/local/bin/npm
sudo ln -s $(which node) /usr/local/bin/node
는 중용사를 합니다.which
위치를 얻은 다음 해당 위치를 명령어에 변수로 전달합니다. $(which npm)
.
npm은 노드에 의존하기 때문에 노드에 대한 심볼릭 링크도 만들고 있습니다.
그러면 다음을 수행할 수 있습니다.
sudo npm -v
노드를 다시 설치하거나 전체 디렉토리에서 chmod를 사용할 필요가 없습니다.
노드 패키지를 다운로드하여 다음과 같은 위치에서 추출한 경우/opt
당신은 단순히 내부에 심볼릭 링크를 만들 수 있습니다./usr/local/bin
.
/usr/local/bin/npm -> /opt/node-v4.6.0-linux-x64/bin/npm
/usr/local/bin/node -> /opt/node-v4.6.0-linux-x64/bin/node
저는 이 문제를 해결했습니다.
apt-get install npm2deb
대신 작업 전역에 패키지를 설치할 때 EACCES 사용 권한 오류 해결
권한 오류 발생 가능성을 최소화하기 위해 다른 디렉터리를 사용하도록 npm을 구성할 수 있습니다.이 예에서는 홈 디렉토리에 숨겨진 디렉토리를 작성하고 사용합니다.
컴퓨터를 백업합니다.명령줄의 홈 디렉토리에 글로벌 설치를 위한 디렉토리를 생성합니다.
mkdir ~/.npm-global
새 디렉터리 경로를 사용하도록 npm을 구성합니다.
npm config set prefix '~/.npm-global'
원하는 텍스트 편집기에서 ~/.profile 파일을 열거나 생성하고 다음 행을 추가합니다.
export PATH=~/.npm-global/bin:$PATH
명령줄에서 시스템 변수를 업데이트합니다.
source ~/.profile
새 구성을 테스트하려면 sudo를 사용하지 않고 전체적으로 패키지를 설치합니다.
npm install -g jshint
따라서 다음을 사용하는 사용자:
NVM 및 홈브루
노드 버전을 설정해야 합니다.저는 노드 버전이 더 이상 설정되지 않았습니다.그래서 어떤 버전을 사용했는지 확인했습니다.
nvm ls
여기에 v16.13.1이 나열되어 있으므로 이를 사용하도록 설정했습니다.
nvm use 16
노드 버전이 설정되면 npm 명령이 다시 작동합니다.
저도 같은 문제가 있었는데, 노드를 설치하는 동안 npm package manager가 설치되지 않았기 때문입니다.이 문제는 다음과 같은 실수로 인해 발생했습니다.설치 프로세스에는 "사용자 지정 설치" 단계가 있으며, 여기서는 1) Node.js 런타임(기본적으로 선택됨) 중 하나를 선택할 수 있습니다.npm package manager 3) 온라인 설명서 바로가기.경로에 추가합니다.그대로 진행하면 npm 패키지 매니저가 설치되지 않아 오류가 발생합니다.
솔루션:이러한 옵션이 표시되면 npm 패키지 관리자를 선택합니다.이것은 저에게 효과가 있었습니다.
visudo를 사용하고 "secure_path"를 편집하는 sudo 경로에 npm 이진 경로 추가
이제 "sundpm"이 작동합니다.
저도 홈스테드에서 같은 문제를 겪었고 많은 방법을 시도했습니다.로 시도했습니다.
sudo apt-get install nodejs
다음 오류가 발생합니다.
The following packages have unmet dependencies:
npm : Depends: nodejs but it is not going to be installed
Depends: node-abbrev (>= 1.0.4) but it is not going to be installed
Depends: node-ansi (>= 0.3.0-2) but it is not going to be installed
Depends: node-ansi-color-table but it is not going to be installed
Depends: node-archy but it is not going to be installed
Depends: node-block-stream but it is not going to be installed
Depends: node-fstream (>= 0.1.22) but it is not going to be installed
Depends: node-fstream-ignore but it is not going to be installed
Depends: node-github-url-from-git but it is not going to be installed
Depends: node-glob (>= 3.1.21) but it is not going to be installed
Depends: node-graceful-fs (>= 2.0.0) but it is not going to be installed
Depends: node-inherits but it is not going to be installed
Depends: node-ini (>= 1.1.0) but it is not going to be installed
Depends: node-lockfile but it is not going to be installed
Depends: node-lru-cache (>= 2.3.0) but it is not going to be installed
Depends: node-minimatch (>= 0.2.11) but it is not going to be installed
Depends: node-mkdirp (>= 0.3.3) but it is not going to be installed
Depends: node-gyp (>= 0.10.9) but it is not going to be installed
Depends: node-nopt (>= 3.0.1) but it is not going to be installed
Depends: node-npmlog but it is not going to be installed
Depends: node-once but it is not going to be installed
Depends: node-osenv but it is not going to be installed
Depends: node-read but it is not going to be installed
Depends: node-read-package-json (>= 1.1.0) but it is not going to be installed
Depends: node-request (>= 2.25.0) but it is not going to be installed
Depends: node-retry but it is not going to be installed
Depends: node-rimraf (>= 2.2.2) but it is not going to be installed
Depends: node-semver (>= 2.1.0) but it is not going to be installed
Depends: node-sha but it is not going to be installed
Depends: node-slide but it is not going to be installed
Depends: node-tar (>= 0.1.18) but it is not going to be installed
Depends: node-underscore but it is not going to be installed
Depends: node-which but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
마침내 나는 시도했습니다.
sudo apt-get dist-upgrade
잘 작동했습니다.
root@homestead:/usr/local/bin# npm -v
3.10.10
root@homestead:/usr/local/bin# node -v
v6.13.0
내 솔루션은 다음과(와)
sudo -E env "PATH=$PATH" n stable
저한테는 잘 맞습니다.
https://stackoverflow.com/a/29400598/861615 에서 찾을 수 있습니다.
기본 글로벌 패키지 변경 디렉토리가 있기 때문에 이 문제가 발생합니다.
수락된 솔루션처럼 보이는 노드를 다시 설치하는 대신 nodejs 폴더/usr/local에 대한 사용 권한이 없다는 것이 문제입니다.
다음 명령 입력sudo chmod -R 777 /usr/local/nodejs/
노드를 완전히 제거합니다.
brew uninstall --force node
다시 설치:
brew install node;
which node # => /usr/local/bin/node
export NODE_PATH='/usr/local/lib/node_modules'
사용하는 모든 사람에게 유용할 수 있는 경우rh-*
이것이 나에게 효과가 있는 패키지:
sudo ln -s /opt/rh/rh-nodejs8/root/usr/bin/npm /usr/local/bin/npm
node.js에서 사용할 수 있는 .tar 파일을 사용하여 node.js를 설치했기 때문에 노드 디렉토리의 위치를 다음 위치에 두어야 했습니다.
~/.svrc
다음 명령을 사용하여 일반 사용자에서 루트로 변경하여 root:
스도이
그런 다음 아래와 같이 .bashrc 파일로 압축을 푼 노드에 경로를 추가해야 했습니다.
그런 다음 .svrc를 사용하여 참조했습니다.
~/.svrc
그 후에
npm: command not found
가버린
저는 위에서 언급한 홈브루를 사용하는 방법 중 어떤 것도 macOS에서 작동하지 않았습니다.그래서 Homebrew를 사용하여 노드를 제거하고 https://nodejs.org/en/download/ 에서 노드 패키지를 다운로드하여 설치했습니다.그것은 매력적으로 작동했습니다.
저의 경우, 어떤 이유로 파이썬 모듈을 설치한 후 갑자기 다음과 같은 메시지가 오기 시작합니다.node
설치되지 않았거나 명령으로 인식되지 않습니다.확인해보니 내 경로는.bashrc
그래서, 저는 그 파일을 입수했고, 모든 것이 다시 작동하기 시작했습니다.
source .bashrc
Linux를 사용하는 경우 /usr/lib에 있는 node_modules 폴더를 삭제합니다.
sudo rm -rf node-modules
그런 다음 curl을 사용하여 노드를 다시 설치합니다.
sudo apt-get update
sudo apt install curl build-essential
curl -sL https://deb.nodesource.com/setup_16.x | sudo -E bash -
sudo apt install -y nodejs
해결 방법은 루트로 로그인하는 것이었고 이제 다시 sudo를 사용할 필요가 없습니다.
su root
언급URL : https://stackoverflow.com/questions/31472755/sudo-npm-command-not-found
'IT' 카테고리의 다른 글
두 개의 목록(Of String)을 결합하는 가장 효율적인 방법은 무엇입니까? (0) | 2023.05.13 |
---|---|
홈브루의 설치 가능한 패키지 목록을 어떻게 찾습니까? (0) | 2023.05.13 |
SQL의 저장 프로시저에서 RETURN 값 가져오기 (0) | 2023.05.13 |
matplotlib에서 그림 크기 및 그림 형식 변경 (0) | 2023.05.08 |
C#에서 빈 배열을 초기화하려면 어떻게 해야 합니까? (0) | 2023.05.08 |