2014-01-27 3 views
0

컨텍스트 : 레일/루비를 배우려고합니다. 은 bitnami 우분투 루비 스택 VM (2.1)을 개발 환경으로 사용했습니다. 사전 설치된 VM은 here입니다.번들 설치 : 사용 권한이 거부 됨

문제 : rails new tp 자동으로 번들이 설치 실행, 그것은 그 보석 에 의해 관리 디렉토리에 있기 때문에 거부 권한 실패 물론

Installing sqlite3 (1.3.8) 
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension. 

    /opt/bitnami/ruby/bin/ruby extconf.rb --with-sqlite3-dir=/opt/bitnami/sqlite 
checking for sqlite3.h... yes 
checking for sqlite3_libversion_number() in -lsqlite3... yes 
checking for rb_proc_arity()... yes 
checking for sqlite3_initialize()... yes 
checking for sqlite3_backup_init()... yes 
checking for sqlite3_column_database_name()... no 
checking for sqlite3_enable_load_extension()... yes 
checking for sqlite3_load_extension()... yes 
checking for sqlite3_open_v2()... yes 
checking for sqlite3_prepare_v2()... yes 
checking for sqlite3_int64 in sqlite3.h... yes 
checking for sqlite3_uint64 in sqlite3.h... yes 
creating Makefile 

make "DESTDIR=" 
compiling database.c 
compiling backup.c 
compiling sqlite3.c 
compiling statement.c 
compiling exception.c 
linking shared-object sqlite3/sqlite3_native.so 

make "DESTDIR=" install 
/bin/mkdir: cannot create directory `/opt/bitnami/ruby/lib/ruby/site_ruby/2.1.0/x86_64-linux/sqlite3': Permission denied 
make: *** [.RUBYARCHDIR.-.sqlite3.time] Error 1 


Gem files will remain installed in /home/bitnami/.bundler/tmp/3622/gems/sqlite3-1.3.8 for inspection. 
Results logged to /home/bitnami/.bundler/tmp/3622/gems/sqlite3-1.3.8/ext/sqlite3/gem_make.out 
An error occurred while installing sqlite3 (1.3.8), and Bundler cannot continue. 
Make sure that `gem install sqlite3 -v '1.3.8'` succeeds before bundling. 

실패 : 새 프로젝트 만들기 root 그리고 개발자로서 나는 파일을 만들고 보통 bitnami 사용자로 내 작업을 수행합니다. 레일즈 프로그램을 사용하고 IDE를 통해 프로그램을 사용하는 것도 포함됩니다. 이러한 가정은 rubystack이 설치되거나 사용되는 방식과는 분명히 다릅니다.

질문 내 방법 -if
스택 가정하는 방법이 다를 후 추정 방법은 무엇인가?
- 차이가 없다면 왜 새 프로젝트를 통해 관리 작업을해야합니까?
-이 기능을 전혀 작동 시키려면 어떻게해야합니까?

+0

@majioa 리눅스 @ bitnami : ~/RP $ LS -al /opt/bitnami/ruby/lib/ruby/site_ruby/2.1.0/x86_64-linux/ 총계 8 drwxr-xr-x 2 루트 루트 4096 1 월 3 일 11시 58 분. drwxr-xr-x 4 루트 루트 4096 1 월 3 일 11시 58 분 .. -rw-r - r-- 1 root root 0 1 월 2 12:28 NOTEMPTY – Punkie

+0

메인 포스트에서 나는 그 장소가 루트 사용자로부터 실제로 있음을 언급했다. 관련된 문제는 무엇입니까? /home/bitnami는 보석의 위치가 아니므로 보석 설치와 관련하여 아무 것도 변경하지 마십시오. – Punkie

+0

rvm이 설치되어있는 동안,'rvm list'는 '# 아직 rvm 루비가 설치되지 않았습니다. 'rvm help install'을 시도해보십시오. 그래서 시스템 루비가 사용되고 rvm이 어떤 식 으로든 도움이되지 않는다고 가정합니다. – Punkie

답변

1

확실한 확인하십시오 :

ls -l /opt/bitnami/ruby/lib/ruby/site_ruby/2.1.0/x86_64-linux/ 

폴더가되지 root:root, 당신에 속한다는 것을 말한다. 권리 사용자 인 경우에, 당신은 폴더를 만들 수 없습니다, 그래서 그것을 해결하기 위해 단지 수행

sudo chown bitnami:bitnami /home/bitnami/. -R 

나는 강하게 당신이 작업을 사용하지 않는하기 위해 을 사용하는 조언. 다음과 같이 수행

  1. 을 실행에 의해 단지 픽업 그것으로 시스템 루비를 사용하려면 :

    rvm mount /path/to/system/ruby 
    
  2. 는 그 다음 gemset 만들 :

    rvm gemset create bitnami 
    
  3. 을 그리고 그것을 사용하십시오 :

    rvm gemset use bitnami 
    
  4. 업데이트 다만, 지정된 gemset에 모든 보석을 설치하되 행동을 를 사용하지 않거나 :

    bundle install