我刚才创建了一个Rails模型“模型”,现在我正在尝试运行服务器。在bundle install
获得后:
尝试写入Gemfile.lock时出错。您可能需要在路径:
允许文件的写权限/home/thiago/model/Gemfile.lock
尝试rails s
看看会发生什么,并且:
/home/thiago/.rvm/gems/ruby-1.9.3-p429/gems/bundler-1.3.5/lib/bundler/definition.rb:235:in `rescue in lock': There was an error while trying to write to Gemfile.lock. It is likely that (Bundler::InstallError) you need to allow write permissions for the file at path: /home/thiago/model/Gemfile.lock from /home/thiago/.rvm/gems/ruby-1.9.3-p429/gems/bundler-1.3.5/lib/bundler/definition.rb:220:in `lock' from /home/thiago/.rvm/gems/ruby-1.9.3-p429/gems/bundler-1.3.5/lib/bundler/environment.rb:34:in `lock' from /home/thiago/.rvm/gems/ruby-1.9.3-p429/gems/bundler-1.3.5/lib/bundler/runtime.rb:43:in `setup' from /home/thiago/.rvm/gems/ruby-1.9.3-p429/gems/bundler-1.3.5/lib/bundler.rb:120:in `setup' from /home/thiago/.rvm/gems/ruby-1.9.3-p429@global/gems/rubygems-bundler-1.1.1/lib/rubygems-bundler/noexec.rb:79:in `setup' from /home/thiago/.rvm/gems/ruby-1.9.3-p429@global/gems/rubygems-bundler-1.1.1/lib/rubygems-bundler/noexec.rb:91:in `' from /home/thiago/.rvm/rubies/ruby-1.9.3-p429/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_require.rb:110:in `require' from /home/thiago/.rvm/rubies/ruby-1.9.3-p429/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_require.rb:110:in `rescue in require' from /home/thiago/.rvm/rubies/ruby-1.9.3-p429/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_require.rb:35:in `require' from /home/thiago/.rvm/gems/ruby-1.9.3-p429/bin/ruby_noexec_wrapper:9:in `'
我可以设置Gemfile.lock的权限,以便我可以捆绑并运行服务器吗?
$ ls -a -l total 80 drwxr-xr-x. 13 root root 4096 May 19 14:08 . drwx------. 41 thiago thiago 4096 Jul 7 23:51 .. drwxr-xr-x. 8 root root 4096 May 19 14:08 app drwxr-xr-x. 5 root root 4096 May 19 14:08 config -rw-r--r--. 1 root root 155 May 19 14:08 config.ru drwxr-xr-x. 2 root root 4096 May 19 14:08 db drwxr-xr-x. 2 root root 4096 May 19 14:08 doc -rw-r--r--. 1 root root 765 May 19 14:08 Gemfile -rw-r--r--. 1 root root 430 May 19 14:08 .gitignore drwxr-xr-x. 4 root root 4096 May 19 14:08 lib drwxr-xr-x. 2 root root 4096 May 19 14:08 log drwxr-xr-x. 2 root root 4096 May 19 14:08 public -rw-r--r--. 1 root root 270 May 19 14:08 Rakefile -rw-r--r--. 1 root root 9208 May 19 14:08 README.rdoc drwxr-xr-x. 2 root root 4096 May 19 14:08 script drwxr-xr-x. 7 root root 4096 May 19 14:08 test drwxr-xr-x. 3 root root 4096 May 19 14:08 tmp drwxr-xr-x. 4 root root 4096 May 19 14:08 vendor
模型文件创建错误?
答案 0 :(得分:66)
您的应用根目录(其权限管理文件创建)和文件全部归root而不是您的用户所有(可能是因为您执行了sudo rails new
- 请不要使用sudo
)。您可以通过执行以下操作来更改权限:
sudo chown -R $(whoami):$(whoami) myappfolder
“myappfolder”是你的Rails应用程序的根目录。
顺便说一句,关于sudo
的一个好建议是始终先尝试不带它的命令,然后,如果运行时出现权限错误,则可能需要sudo
。不要默认使用sudo
。
答案 1 :(得分:0)
我遇到了同样的问题,这就是我的解决方法。
如果您使用的是 ZSH ,请转到
个人资料->命令
并选中“将命令作为登录Shell运行”并关闭终端。
启动终端并启动bundle install
命令。
答案 2 :(得分:0)
有时候上面的答案:
sudo chown -R $(whoami):$(whoami) myappfolder
会给您错误:
chown: ifeegoo: illegal group name
您也可以尝试这种命令:
sudo chown -R ifeegoo: /Users/ifeegoo/workspace/rails/Test