Linux Gemfile.lock 写错误,权限?
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/17519090/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Gemfile.lock write error, permissions?
提问by jerseybyte
I created a Rails model "model" a while ago and now I'm trying to run the server. After a bundle install
I get:
不久前我创建了一个 Rails 模型“模型”,现在我正在尝试运行服务器。经过bundle install
我得到:
There was an error while trying to write to Gemfile.lock. It is likely that you need to allow write permissions for the file at path:
/home/thiago/model/Gemfile.lock
尝试写入 Gemfile.lock 时出错。您可能需要为路径中的文件授予写权限:
/home/thiago/model/Gemfile.lock
Tried rails s
to see what happens and:
试图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 `'
Can I set the permissions for the Gemfile.lock so I can bundle and run server?
我可以设置 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
Model files created incorrectly?
模型文件创建不正确?
采纳答案by Andrew Marshall
Your app root directory (whose permissions govern file creation) and files are all owned by root instead of your user (possibly because you did sudo rails new
—don't use sudo
for that). You can change the permissions by doing:
您的应用程序根目录(其权限管理文件创建)和文件都归 root 而不是您的用户所有(可能是因为您这样做了 -sudo rails new
不要sudo
用于那个)。您可以通过执行以下操作来更改权限:
sudo chown -R $(whoami):$(whoami) myappfolder
Where “myappfolder” is your Rails app's root directory.
其中“myappfolder”是您的Rails 应用程序的根目录。
By the way, a good tip with regard to sudo
is to always try the command without it first, then, if there's a permissions error when it runs, you may need sudo
. Don't default to using sudo
.
顺便说一句,关于 的一个很好的提示sudo
是始终先尝试没有它的命令,然后,如果在运行时出现权限错误,您可能需要sudo
. 不要默认使用sudo
.
回答by Touseef Murtaza
I had the same issue, that's how i fixed mine.
我有同样的问题,这就是我修复我的方法。
If you are using ZSHthen goto
如果您使用的是ZSH,则转到
profile -> command
配置文件 -> 命令
and check "Run command as a login shell" and close the terminal.
Fire up your terminal and initiate bundle install
command.
并选中“作为登录shell运行命令”并关闭终端。启动终端并启动bundle install
命令。
回答by ifeegoo
Sometimes the above answer:
有时上面的答案是:
sudo chown -R $(whoami):$(whoami) myappfolder
will give you the error:
会给你错误:
chown: ifeegoo: illegal group name
You can also try this kind of command:
你也可以试试这样的命令:
sudo chown -R ifeegoo: /Users/ifeegoo/workspace/rails/Test