2012-11-12 2 views
2

그래서 나는 꽤 버릇이있는 루비스트이고 기본적으로 sudo를 사용하여 더 이상 아무것도 설치할 필요가 없습니다. node.js와 npm을 설치했습니다. (Mac 64 비트 .pkg를 사용하면 gosh가 내 시스템에서 무엇을 알고 있었는지 확인할 수 있습니다.) 제대로 작동합니다.jasmine-node 설치 방법 ('sudo'를 사용하지 않고 이상적으로)?

이제 실행 다음 ". 루트/관리자 권한으로이 명령을 다시 실행 해보세요" npm install jasmine-node -g

이 작동하고,라고하지 않습니다 나는 sudo npm install jasmine-node -g

일을 의미하는 촬영 한 : (전 세계적으로 하지은) 등

어떻게 이 경우, 명령 줄에서 실행되지 않습니다, 잘 작동하지만 제대로 설치되지 않았 내 경로를하지 npm install jasmine-node jasmine-node를 설치합니까?cd to /usr/local/bin ('-g'옵션없이) 설치 하시겠습니까? 자작 나무를 사용합니까? 또는 위에 나열된 sudo ... 명령을 사용합니까?

감사합니다.

/UPDATE : 위에서 언급 한 것처럼 Universal Installer를 사용하여 node.js & npm을 내 Lion OS X Mac (64 비트)에 설치했으며/usr/local/bin에있는 node/npm 목록은 다음과 같습니다. 경우에 그들은 도움이 위치 :

-rwxr-xr-x 1 24561 wheel  355 Apr 11 2012 /usr/local/bin/node-waf 
-rwxr-xr-x 1 24561 wheel 18930304 Oct 25 14:07 /usr/local/bin/node 
lrwxr-xr-x 1 root admin  38 Nov 12 10:00 /usr/local/bin/npm -> ../lib/node_modules/npm/bin/npm-cli.js 

또한, 나는 (내가 위에서 제시 한 세 가지 이외에) 다른 하나의 옵션 인 this answer을 발견했다.

어떤 방법을 권장하는지 알려주세요 (다시 한번 말하지만, 'sudo'를 사용하지 않는 것이 이상적입니다).

/최종 업데이트 여기

-g (세계적으로) 반환 (sudo를 사용하지 않음) 그 일을 무엇 :

npm http GET https://registry.npmjs.org/jasmine-node 
npm http 200 https://registry.npmjs.org/jasmine-node 
npm http GET https://registry.npmjs.org/jasmine-node/-/jasmine-node-1.0.26.tgz 
npm http 200 https://registry.npmjs.org/jasmine-node/-/jasmine-node-1.0.26.tgz 
npm ERR! Error: EACCES, mkdir '/usr/local/lib/node_modules/jasmine-node' 
npm ERR! { [Error: EACCES, mkdir '/usr/local/lib/node_modules/jasmine-node'] 
npm ERR! errno: 3, 
npm ERR! code: 'EACCES', 
npm ERR! path: '/usr/local/lib/node_modules/jasmine-node', 
npm ERR! fstream_type: 'Directory', 
npm ERR! fstream_path: '/usr/local/lib/node_modules/jasmine-node', 
npm ERR! fstream_class: 'DirWriter', 
npm ERR! fstream_stack: 
npm ERR! [ 'DirWriter._create (/usr/local/lib/node_modules/npm/node_modules/fstream/lib/dir-writer.js:36:23)', 
npm ERR!  '/usr/local/lib/node_modules/npm/node_modules/mkdirp/index.js:37:53', 
npm ERR!  'Object.oncomplete (fs.js:297:15)' ] } 
npm ERR! 
npm ERR! Please try running this command again as root/Administrator. 

npm ERR! System Darwin 11.4.2 
npm ERR! command "node" "/usr/local/bin/npm" "install" "jasmine-node" "-g" 
npm ERR! cwd /Users/brad/play/troles 
npm ERR! node -v v0.8.14 
npm ERR! npm -v 1.1.65 
npm ERR! path /usr/local/lib/node_modules/jasmine-node 
npm ERR! fstream_path /usr/local/lib/node_modules/jasmine-node 
npm ERR! fstream_type Directory 
npm ERR! fstream_class DirWriter 
npm ERR! code EACCES 
npm ERR! errno 3 
npm ERR! stack Error: EACCES, mkdir '/usr/local/lib/node_modules/jasmine-node' 
npm ERR! fstream_stack DirWriter._create (/usr/local/lib/node_modules/npm/node_modules/fstream/lib/dir-writer.js:36:23) 
npm ERR! fstream_stack /usr/local/lib/node_modules/npm/node_modules/mkdirp/index.js:37:53 
npm ERR! fstream_stack Object.oncomplete (fs.js:297:15) 
npm ERR! 
npm ERR! Additional logging details can be found in: 
npm ERR!  /Users/brad/play/troles/npm-debug.log 
npm ERR! not ok code 0 

답변

0

그래서 지난 해에 (노드와 NPM 커뮤니티 마침내 것 같다) sudo를 사용할 필요없이 npm과 노드를 설치하는 방법을 찾아 냈다.

내가 맥 OS X에있어 때문에, 그때 난 그냥 (자동으로 하나 개의 노드뿐만 아니라 제공) NPM을 설치 brew을 사용 these instructionsuninstall 노드 & NPM에 나를 위해 일한 발견했다. 설치를 sudo 할 경우 sudo uninstall, btw가 필요할 수 있습니다.

위의 링크 된 안내가 작동하지 않으면 최상위 투표 (500+ 표)를 사용해 수동으로 조금 더 시도하십시오.

이제 jasmine-node는 sudo, chowning 또는 모든 권한에 대한 승격 만 있으면됩니다. npm install jasmine-node -g을 실행하면 모두 정상입니다.

5

-g (글로벌 설치) 옵션을 사용하지 않는 "executables go in ./node_modules/.bin/".

나는 -g을 사용하지 않습니다. 실제로 전역으로 설치하지 않으려면 $ HOME에 jasmine-node를 설치하고 $HOME/node_modules/.bin을 $ PATH 변수에 추가하십시오.

+0

고마워요. @guillaume 내가 인터넷을 통해 뛰어 다녔다고 생각할만큼 충분한 검색 기능을 갖추고 있지만 그 링크를 찾지 못했습니다! 그것은 그것을 꽤 잘 설명합니다. 나는 대부분의 사람들이 sudo를 사용하여 전 세계에 그것을 설치한다고 대답했다. 나는 당신의 제안을 사용하고'$ HOME/node_modules/.bin'을 내 경로에 추가한다고 생각합니다. 다음 며칠 동안 더 나은 모범 사례 제안을 보지 않는 한 - 감사합니다! – likethesky

+0

더 나은 해결책을 원하지만 답변을 승인으로 표시했습니다. 누군가 찾으면 추가하십시오! – likethesky

3

나는 모든 폴더 노드의 소유권을 변경했습니다.

sudo chown -R my_account_name /usr/local/lib/node_modules/ 
sudo chown -R my_account_name /usr/local/lib/node/ 
sudo chown -R my_account_name /usr/local/include/node/ 

나는 그게 나쁜 습관인지 정말 모르겠다.하지만 나는 정말로 신경 쓰지 않는다.

+0

그것은 나쁜 연습이지만 잘 선생님! – imjared

0

npm install -g somepackage를 실행하면 root/Administrator로 명령을 다시 실행하라는 EACCES 오류가 발생할 수 있습니다. 권한 문제입니다.

그건 터미널 (응용 프로그램> 유틸리티> 터미널)

sudo chown -R $USER /usr/local 

는 ** 난 강력와 sudo 패키지 관리를 사용하지 않는 당신을 추천을 열고를 해결하기 쉬운 (sudo는 NPM -g 뭔가를 설치) , 나중에 **

참조 몇 가지 문제를 얻을 수 있기 때문에 : http://foohack.com/2010/08/intro-to-npm/

** 권장 방법 **

다른 응용 프로그램이 많은 사용 권한 문제를 일으킬 수 있기 때문에 그 이유는이 작업을하지 않는 것이 좋습니다. 전역에 설치하는 더 나은 솔루션 :

sudo는 대한 Chown -R whoami ~/.npm

관련 문제