2014-01-27 213 views
0

上下文: 試圖學習rails/ruby​​。 使用了bitnami ubuntu ruby​​ stack VM(2.1)作爲開發環境。它是一個預先安裝的虛擬機,詳細信息是hereBundle安裝:權限被拒絕

問題: 製作一個新項目: 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. 

當然這失敗,拒絕,因爲這些寶石是由管理目錄權限根和作爲開發人員創建文件,並做我的東西作爲常規bitnami用戶,當然。這包括使用rails程序並通過IDE使用所述程序。 這些假設與rubystack的設置或應該如何使用看起來顯然不一致。

問題
- 如果我的方法從堆棧中承擔的方法不同,那麼什麼是假設的方法是什麼?
- 如果它們沒有區別,爲什麼要製作一個新的項目來管理這些東西?
- 我應該怎麼做這件事情呢?

+0

@majioa bitnami @ Linux的:〜/ RP $ LS -al /opt/bitnami/ruby/lib/ruby/site_ruby/2.1.0/x86_64-linux/ total 8 drwxr-xr-x 2 root root 4096 Jan 3 11:58。 drwxr-xr-x 4 root root 4096 Jan 3 11:58 .. -rw-r - r-- 1 root root 0 Jan 2 12:28 NOTEMPTY – Punkie

+0

在主帖子中,我提到那個地方確實來自root用戶。有關的問題是,如果它? /home/bitnami不是寶石的位置,因此不會改變安裝寶石的任何內容。 – Punkie

+0

安裝rvm時,'rvm list'產生 '#尚未安裝rvm紅寶石。嘗試'rvm幫助安裝'。' 所以我認爲使用系統紅寶石並且使用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. 然後創建一個寶石:

    rvm gemset create bitnami 
    
  3. 而且使用它:

    rvm gemset use bitnami 
    
  4. 更新或安裝所有的寶石到指定的寶石,但沒有爲行動使用,只是:

    bundle install