저는 AngularJS 애플리케이션을 개발 중이며 프런트 엔드 사용자 상호 작용의 자동화된 테스트를 위해 Protractor를 시작하고 실행하고 싶습니다.
내 개발 환경이 설정되는 방식은 로컬 Windows 데스크톱에서 프런트 엔드 개발을 수행하고 CentOS 7 VM에서 grunt를 실행하여 애플리케이션의 프런트 엔드를 제공하는 것입니다.
나는 과거에 일부 Unix 시스템을 사용했지만 주로 몇 년 전 대학에서 수강한 몇 가지 모듈에 대해서만 사용했기 때문에 경험이 많지 않습니다.
제가 회사에 입사했을 때 저는 회사가 이미 갖고 있던 관행을 활용하기 시작했습니다. 일상 생활에서 Unix VM을 사용하는 방법은 매우 간단합니다.
- 시작해
- 여러 터미널 열기
- 루트가 됨(
su -
) - 실행파이썬(
python3.4 -m myApp start
) grunt serve
프론트엔드를 제공하기 위해 적절한 위치에서 실행
나는 다음 튜토리얼을 따르고 있습니다 :http://www.protractortest.org/#/tutorial내 개발 환경에서 Protractor를 테스트 프레임워크로 사용하여 Protractor를 시작하고 실행하려고 시도했으며 문제 없이 설정의 처음 몇 단계를 완료했습니다.
npm install -g protractor
webdriver-manager update
다음 명령을 실행하려고 하면 webdriver-manager start
오류 메시지가 나타납니다.
'java'는 내부 또는 외부 명령, 실행 가능한 프로그램, 배치 파일로 인식되지 않습니다.
[11:24:04] I/start - Selenium Standalone이 코드 1로 종료되었습니다.
이는 Java가 가상 머신에 설치되어 있지 않으며 명령을 실행하려면 Java를 설치해야 함을 의미한다고 가정합니다 webdriver-manager start
.
Linux x64용 JRE(.rpm 파일)를 다음에서 다운로드했습니다.신탁, 내 가상 머신 데스크탑에 복사했습니다. 현재 다음 URL의 지침을 따르고 있습니다.리눅스 자바 설치가상 머신에 Java를 설치했지만 일부 문제가 발생했습니다.
나는 다음 단계를 따랐습니다.
- 루트 사용자 되기
- 설치하려는 디렉토리로 변경
- 패키지를 설치하십시오:`rpm -ivh jre-8u144-linux-x64.rpm
그러나 패키지를 설치하기 위해 마지막 명령을 실행하면 콘솔에 오류가 표시됩니다.
jre-8u144-linux-x64.rpm 열기 실패: 해당 파일 또는 디렉토리가 없습니다.
ls
로그인된 터미널에서 실행 하면 root
데스크탑(현재 위치)에서 파일을 볼 수 없지만, ls
로그인하지 않은 다른 터미널에서 실행 하면 root
jre- 8u144-linux-x64.rpm 파일을 설치하려고 하는데...
root
그렇다면 "일반" 사용자는 볼 수 있는데 왜 설치하려는 .rpm 파일을 사용자는 볼 수 없습니까 ? 해당 터미널에서 명령을 실행하여 "일반" 사용자로부터 JRE를 설치하려고 했지만 분명히 이 작업을 수행할 권한이 없다는 오류가 발생했습니다.
오류: /var/lib/rpm/.rpm.lock에서 트랜잭션 잠금을 생성할 수 없습니다(권한이 거부됨).
내 VM에서 이 테스트 프레임워크를 사용하기 위해 필요한 JRE를 어떻게 설치합니까?
답변1
첫 번째 단락에서 본 것처럼 루트가 되려면 이를 입력해야 하며 su -
사용자를 변경하면 환경이 다시 초기화됩니다. 따라서 루트가 되면 PWD
환경 변수를 변경하여 현재 있는 디렉터리(/root)를 변경합니다.
문제를 해결하는 방법에는 두 가지가 있습니다.
첫 번째: 대신
사용 하면 일반 사용자와 동일한 디렉터리에 있게 됩니다. 따라서 루트가 된 후에는 들어갈 수 있습니다su
su -
rpm -ivh jre-8u144-linux-x64.rpm
둘째:
일반 사용자로 올바른 디렉토리에 있을 때pwd
어딘가에 경로를 입력하고 기록할 수 있습니다. 이는 /home/user/something과 같아야 하며 이를 입력su -
하고 실행합니다rpm -ivh /home/user/something/jre-8u144-linux-x64.rpm
. 그러면 효과가 있을 것입니다.
둘 다 작동해야 하지만 두 번째 것을 권장합니다.