6

在遵循 Michael Hartl 的Ruby on Rails 教程时,我正在使用 Sublime Text 2 。

我所指的教程的具体部分可以在http://ruby.railstutorial.org/book/ruby-on-rails-tutorial (ctrl+F "Listing 5.26") 找到。

我能够创建规范/支持文件。但是,在尝试创建 spec/support/utilities.rb 文件时,我收到消息“无法保存 ~/rails_projects/sample_app/spec/support/utilities.rb”。

有谁知道这可能是为什么?

Sublime Text 论坛上的某个人似乎遇到了完全相同的问题:http ://www.sublimetext.com/forum/viewtopic.php?f=3&t=8570&p=36922#p36922

4

6 回答 6

3

这个问题听起来像是文件夹权限或所有权不正确的结果。更改目录 ( cd),使您位于创建 .rb 文件的文件夹之外,然后键入:

ls -l

此终端命令列出附加到该目录中所有文件/文件夹的权限。如果“root”被列为文件夹所有者,请键入以下内容更改其所有者:

sudo chown YOUR_COMP_USER_NAME FOLDER_NAME/

您现在应该能够从该文件夹中保存文件。

于 2014-02-26T17:24:29.710 回答
1

要诊断这个问题,首先要确定它是否是 Sublime 或您的文件系统中的问题:

  • 该文件是否已经存在?尝试在您的文件系统上查找它(不使用 Sublime)。

  • 验证您是否有权写入该文件。在命令行上使用“ls -la”来显示文件权限。

  • 您是否能够使用任何不同的编辑器(例如 TextMate 或记事本)创建和/或保存该文件?

于 2012-09-13T09:01:54.967 回答
1

以下 sublime 插件修复了Unable to save...错误 https://gist.github.com/3779601

于 2012-09-26T08:42:03.633 回答
0

文件夹 spec/support 不存在,并且 sublime 不会创建丢失的文件夹,因此会出错。

你只需要创建 spec/support 文件夹,然后 sublime 就会保存文件。

我还强烈建议安装 AdvancedNewFile 插件(感谢 Jeffrey Way 和 NetTuts+ 的视频),您可以直接从 Package Control 中获取。如果需要,它会创建文件、父文件夹,如果您尝试创建一个已经存在的文件,它会打开它。

于 2012-09-27T19:31:19.537 回答
0

所以@knice 几乎得到了它,当我在小牛上开始我的第一个 Rails 项目时,我遇到了同样的问题。

如前所述,如果您运行 ls -l 您将看到列出的文件夹/文件及其权限

我通过从我的项目目录外部使用以下命令递归更改所有权解决了这个问题

sudo chown -Rv <your_username> <your_path_and_foldername>

例如,如果你在终端的文件夹中,你应该cd ..然后

sudo chown -Rv username ruby_proj/

-R是递归的意思,它将适用于您指定的文件夹中包含的所有文件和文件夹,并且 v 之后只会产生详细的输出,向您显示已更改的文件夹和文件权限。

希望对其他人有所帮助。

于 2014-06-25T21:30:36.423 回答
0

如果您尝试在当前不存在的目录中创建文件,则可能会发生这种情况。例如。我无法保存

~/rails_projects/sample_app/app/views/shared/_error_messages.html.erb

通过终端的“subl”命令,因为我缺少 /shared/ 文件夹。希望有帮助。

于 2013-07-22T19:19:12.263 回答