2014-01-27 162 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