루트 사용자로부터 bower를 실행하십시오. 가능합니까? 어떻게?
나는 많은 것을 테스트하는 로컬 개발 서버를 가지고 있으며, 이제 Symfony2 프로젝트에서 라이브러리의 종속성을 관리하기 위해 bower를 사용하고 있습니다. NodeJS (v0.10.31)와 bower (1.3.9)를 설치 한 후 sp:bower:install
콘솔에서 Symfony2 SpBowerBundle에 속하는 명령을 다음과 같이 실행 해 보았습니다 root
.
Symfony > sp:bower:install
Installing bower dependencies for "TemplateBundle" into "/var/www/html/tanane/src/Tanane/TemplateBundle/Resources/config/bower/../../public/components"
bower ESUDO Cannot be run with sudo
Additional error details:
Since bower is a user command, there is no need to execute it with superuser permissions.
If you're having permission errors when using bower without sudo, please spend a few minutes learning more about how your system should work and make any necessary repairs.
http://www.joyent.com/blog/installing-node-and-npm
https://gist.github.com/isaacs/579814
You can however run a command with sudo using --allow-root option
--allow-root
bash에서 직접 테스트했기 때문에 추가 작업이 수행되었지만 번들 명령 줄에서는 허용되지 않는 것 같습니다. 자, 정자 root
를 추가 하는 유일한 --allow-root
방법입니까 아니면 다른 방법으로 존재합니까?
아래 답변은 심포니 프레임 워크의 번들에 대한 것이지만 " bower root " 라는 문구를 사용하여 Google에서 여기에 온 경우 이를 해결할 수있는 두 가지 옵션이 있습니다.
- 명령에 --allow-root 추가
- bower를 루트로 실행할 수있는 전역 bower 구성 설정
옵션 1 : 다음을 입력하여 bower를 루트로 실행할 수 있습니다.
bower install --allow-root
--allow-root 명령 매개 변수를 설정하여 루트를 허용합니다.
옵션 2 : 다음 구성이있는 /root/.bowerrc 파일을 생성하여 루트를 허용하는 전역 설정을 사용 합니다.
{ "allow_root": true }
SpBowerBundle 심포니 번들 에서이 작업을 수행하는 방법 :
아마도 SpBowerBundle 구성에서 sp_bower.allow_root를 true로 설정하지 않았을 것입니다 .
번들 구성에서 기본적으로 다음과 같이 설정합니다.
allow_root: false # optional
하지만 다음이 있어야합니다.
allow_root: true
따라서 app / config / config.yml에서이 번들 구성을 추가하십시오.
sp_bower:
allow_root: false # optional
번들 구성 참조 (모든 설정) : https://github.com/Spea/SpBowerBundle/blob/master/Resources/doc/configuration_reference.md
나는 고정 디렉토리 권한을 변경하여 비슷한 문제를 :
sudo chown -R $USER:$GROUP ~/.npm
sudo chown -R $USER:$GROUP ~/.config
Docker 컨테이너에서이 문제가 발생하는 경우 Dockerfile에 다음 줄을 추가하십시오.
RUN echo '{ "allow_root": true }' > /root/.bowerrc
이것은 어리석은 bower install --allow-root
일이지만 저 에게는 작동 bower --allow-root install
하지 않았지만 grunt-bower-install 버전 1.6.0을 사용하여 작동했습니다.
이것은 루트 사용자로 실행되는 도커에 있었으며 아마도 누군가 시간을 절약 할 것입니다 :)
swagger-editor를 설치할 때 비슷한 문제가 발생했습니다. package.json의 다음 줄을 다음에서 변경했습니다.
"bower-install": "bower install"
...에
"bower-install": "bower install --allow-root"
이것은 나를 위해 작동합니다 (도커 실행시 -u 매개 변수 추가).
bash docker run -it -v ${PWD}:/www -w /www -u node node ./node_modules/bower/bin/bower install
내 경우에는 아래와 같이 인수로 추가 한 Pom.xml에 있습니다.
<executable>bower</executable>
<arguments>
<argument>install</argument>
<argument>--allow-root</argument>
</arguments>
이 --allow--root 매개 변수를 피해야하는 경우 루트 사용자로부터 컴파일을 수행 할 수 있습니다.
참조 URL : https://stackoverflow.com/questions/25672924/run-bower-from-root-user-its-possible-how
'programing' 카테고리의 다른 글
기본 유형과 참조 유형의 차이점은 무엇입니까? (0) | 2021.01.16 |
---|---|
Java 도구를 초기화하는 동안 Eclipse 내부 오류 (0) | 2021.01.16 |
Android 용 Kotlin. (0) | 2021.01.16 |
Mac 10.9 이후 BREW 업데이트가 작동하지 않음 (0) | 2021.01.16 |
TextInputLayout.setError ()는 오류를 제거한 후 빈 공간을 남깁니다. (0) | 2021.01.16 |