development

NodeJ를 설치할 수 없습니다 : / usr / bin / env : node : 해당 파일 또는 디렉토리가 없습니다

big-blog 2020. 3. 17. 23:39
반응형

NodeJ를 설치할 수 없습니다 : / usr / bin / env : node : 해당 파일 또는 디렉토리가 없습니다


GruntJ를 사용하기 위해 nodebuns를 Ubuntu 14.04에 설치하려고합니다.

우분투 에 대해 다른 방법 으로 문제를 읽었 으므로 ( 문제? ) 설치하기 위해 수행 한 작업은 다음과 같습니다.

sudo apt-get install npm

sudo npm install -g grunt-cli

그 후 grunt를 입력하면 오류가 발생합니다.

/usr/bin/env: node: No such file or directory

그래서 시도했습니다.

curl -sL https://deb.nodesource.com/setup | sudo bash -

sudo apt-get install -y nodejs

sudo apt-get update

그리고 다시 시도하고 여전히 오류가 발생하여 시도했습니다.

sudo add-apt-repository https://launchpad.net/~chris-lea/+archive/node.js/

sudo apt-get install -y nodejs

이 메시지가 나타납니다.

nodejs is already the newest version.
0 to upgrade, 0 to newly install, 0 to remove and 3 not to upgrade.

나는 경우를 대비하여 정리를 시도했다.

sudo apt-get autoremove

그러나 아니, 오류는 여전히 존재합니다 : grunt를 입력해도 여전히 얻을 수 있습니다. /usr/bin/env: node: No such file or directory

어떻게해야합니까?


답을 찾았습니다. 누군가를 도울 수 있도록 여기에 게시하십시오.

심볼릭 링크를 사용하면 문제가 해결됩니다 : ln -s /usr/bin/nodejs /usr/bin/node(내 감사와 bodokaiser에 +1 투표 ).

참고 :이 게시물은 다소 브라우저 화 된 질문이므로 정확한 게시물이 아닙니다.


노드 버전에 문제가 없습니다. 대신 우분투에서 NodeJS가 기본적으로 설치되는 방식입니다. 우분투에서 노드 응용 프로그램을 실행할 때 nodejs somethign.js대신에 실행해야합니다node something.js

그래서 터미널에서 호출 응용 프로그램 이름입니다 nodejs하지 node. 로받은 단순히 앞으로 모든 명령에 대한 심볼릭 링크에 대한 필요가 이유입니다 node에가 nodejs.

ln -s /usr/bin/nodejs /usr/bin/node

최신 노드 버전을 업그레이드해야한다고 생각합니다

sudo npm cache clean -f
sudo npm install -g n
sudo n stable

nodejs 명령을 사용하여 우분투 터미널에서 노드에 액세스 할 수 있다면이 문제는-를 사용하여 nodejs 및 노드의 심볼릭 링크를 작성하여 간단히 해결할 수 있습니다

ln -s /usr/bin/nodejs /usr/bin/node

이 문제를 해결할 수 있습니다


필자의 경우 nodejs-legacy를 설치 하면 문제가 해결되었습니다.

sudo apt-get install nodejs-legacy

그냥 해

$ sudo apt-get install nodejs-legacy

그리고 그것은 작동하기 시작할 것입니다.


패키지 관리자에서 설치하는 경우 bin이 nodejs라고 할 수 있으므로 심볼릭 링크 만하면됩니다.

ln -s /usr/bin/nodejs /usr/bin/node

nodejs가 이미 설치되어 which nodejs있고 (로 확인 ) 다른 패키지를 설치하지 않으려는 경우 루트로 할 수 있습니다.

update-alternatives --install /usr/bin/node node /usr/bin/nodejs 99

gulp를 사용할 때이 오류가 발생했습니다.

~$ gulp

/ usr / bin / env : 'node': 해당 파일 또는 디렉토리가 없습니다.

이것은 / usr / bin 디렉토리에 모든 권한이 있음을 명심해야하는 다음 명령을 실행하여 제거되었습니다.

~$ ln -s /usr/bin/nodejs /usr/bin/node

이것은 나를 위해 작동합니다 ..


ln -s가장 쉬운 해결 방법 이지만 설명은 다음과 같습니다.

다른 패키지와 충돌하기 때문에 Ubuntu 저장소의 실행 파일을 node 대신 nodejs라고합니다. 소프트웨어를 실행할 때이 점을 명심하십시오.

이 조언은 설치할 때 나타납니다 sudo apt-get install nodejs.

따라서 다른 알려진 도구 (어떻게하는지 모르겠습니다. 우분투 리포지토리로 알려져 있지만 기본적으로 16.04에 설치되어 있지 않음)는 해당 네임 스페이스를 차지합니다.

우분투가 패키지를 다른 방법으로 수작업으로하지 않으면 서 이것을 '깨끗하게'고치는 방법에 대한 조언을 제공했다면 좋았을 것입니다. (충돌이 발생하면 충돌이 계속 발생합니다.


이에 대한 두 가지 해결책이 있습니다.

a) "/ usr / local / bin"을 포함하도록 PATH 변수를 설정하십시오.

export PATH="$PATH:/usr/local/bin"

b) 이미 PATH에있는 "/ usr / bin"에 대한 심볼릭 링크를 만듭니다

ln -s /usr/bin/nodejs /usr/bin/node

도움이 되길 바랍니다.


노드 설치 방법에 따라 대부분의 경우 / usr / bin /에 있지 않을 수도 있습니다. 제 경우에는 nvm을 사용하여 설치했기 때문에 노드가 ./nvm/versions에있었습니다.

이 명령을 사용 which node하여 경로를 찾았지만 작업을 쉽게하기 위해이 명령을 실행할 수 있습니다.

nodepath=$(which node); sudo ln -s $nodepath /usr/bin/node

위의 명령은 노드의 위치를 ​​가져 와서 링크를 만듭니다.


sudo PATH="$PATH:/usr/local/bin" npm install -g <package-name>

내 경우 링크를 들어 않았다 NOT 작업을 다음과 같이

ln -s / usr / bin / nodejs / usr / bin / node

그러나 / usr / local / bin / lessc를 루트로 열고 첫 번째 줄을 node에서 nodejs로 변경할 수 있습니다.

-#! / usr / bin / env 노드

+ #! / usr / bin / env nodejs


ln -s /usr/bin/nodejs /usr/bin/node이 명령으로 명령 또는 파일 이름 바꾸십시오.


나를 위해 받아 들여진 대답은 아직 효과가 없었습니다. 여기에 제안 된대로 시작했습니다.

ln -s /usr/bin/nodejs /usr/bin/node

이 작업을 수행 한 후 다음 오류가 발생했습니다.

/usr/local/lib/node_modules/npm/bin/npm-cli.js:85 let notifier = require ( 'update-notifier') ({pkg}) ^^^

구문 오류 : Object의 Module._compile (module.js : 374 : 25)에서 exports.runInThisContext (vm.js : 53 : 16)의 엄격 모드 외부에서 블록 범위 선언 (let, const, function, class)이 아직 지원되지 않습니다. Function.Module.runMain의 Module.load (module.js : 344 : 32)의 Function.Module._load (module.js : 301 : 12)의 Module._extensions..js (module.js : 417 : 10) ( module.js : 442 : 10) 시작시 (node.js : 136 : 18) node.js : 966 : 3에서

해결책은 https://nodejs.org/en/download/ 에서 최신 버전의 노드를 다운로드하는 것 입니다.

그런 다음 :

sudo tar -xf node-v10.15.0-linux-x64.tar.xz --directory /usr/local --strip-components 1

이제 업데이트가 성공적으로 완료되었습니다. npm -v3.2.1에서 6.4.1로 변경 되었습니다.


다음 명령을 따라 문제를 해결하십시오.

터미널에서 :

  1. 전체 NPM 캐시를 정리하십시오.

    $ sudo npm cache clean -f
    
  2. sudo npm install -g n
    
  3. 최신 안정 버전의 Node.js를 설치하십시오.

    sudo n stable
    

이제 최신 버전의 Node.js가 설치되었습니다. 다음을 사용하여 버전을 확인하십시오.

node -v

참고 URL : https://stackoverflow.com/questions/26320901/cannot-install-nodejs-usr-bin-env-node-no-such-file-or-directory

반응형