使用--no-frontend提升时出现Grunt错误SailsJS

时间:2016-03-04 12:50:39

标签: gruntjs sails.js

我有一个Sails Api,它第一次像魅力一样靴子。 按CTRL + C将其停止,然后再次尝试启动它。它有效,但是,

error: ** Grunt :: An error occurred. **
error: 
------------------------------------------------------------------------
Aborted due to warnings.
Running "clean:dev" (clean) task
Warning: Cannot delete files outside the current working directory. 
------------------------------------------------------------------------

error: Looks like a Grunt error occurred--
error: Please fix it, then **restart Sails** to continue running tasks (e.g. watching for changes in assets)
error: Or if you're stuck, check out the troubleshooting tips below.

error: Troubleshooting tips:
error: 
error:  *-> Are "grunt" and related grunt task modules installed locally?  Run `npm install` if you're not sure.
error: 
error:  *-> You might have a malformed LESS, SASS, CoffeeScript file, etc.
error: 
error:  *-> Or maybe you don't have permissions to access the `.tmp` directory?
error:      e.g., `folderthingy` ?
error: 
error:      If you think this might be the case, try running:
error:      sudo chown -R 501 folderthingy

好吧,我检查一下,文件夹就是我自己的,并且有足够的权利。我还提出了一个777用于测试目的,但这没有改变。

然后,我决定清除.tmp文件夹的所有内容并尝试再次启动。这就像一个魅力,.tmp再次填补,当我停止服务器,试图重新启动它,我再次得到完全相同的错误消息!

我使用--no-frontend选项启动,所以实际上我不明白为什么它甚至想加载grunt。

为什么会这样?这里出了什么问题?

5 个答案:

答案 0 :(得分:3)

为什么它发生仍然不为人类所知,但我通过删除Gruntfile修复了它。

答案 1 :(得分:1)

我也遇到了这个错误 -

error: ** Grunt :: An error occurred. **
error: 
------------------------------------------------------------------------
Aborted due to warnings.
Running "sass:dev" (sass) task

    > error: Looks like a Grunt error occurred--
    > 
    > error: Please fix it, then **restart Sails** to continue running tasks
    > (e.g. watching for changes in assets)
    > 
    > error: Or if you're stuck, check out the troubleshooting tips below.

error: Troubleshooting tips:
error: 
error:  *-> Are "grunt" and related grunt task modules installed locally?  Run `npm install` if you're not sure.
error: 
error:  *-> You might have a malformed LESS, SASS, CoffeeScript file, etc.
error: 
error:  *-> Or maybe you don't have permissions to access the `.tmp` directory?
error:      e.g., `/Users/siyaram.malav/Desktop/repo/project1/.tmp` ?

出现此错误是因为找不到sass模块。并运行以下命令

  

sudo gem install sass

它对我有用。

在您的情况下,请尝试运行 sudo gem install clean 命令。

它应该有用。 感谢。

答案 2 :(得分:1)

按照以下步骤解决此问题:

sails应用程序中的文件路径-> task / config / sync.js

// 1. Install it as a local dependency of your Sails app:
//    ```
//    $ npm install grunt-sync --save-dev --save-exact
//    ```
//
//
// 2. Then uncomment the following code:
//
// ```
// // Load Grunt plugin from the node_modules/ folder.
// grunt.loadNpmTasks('grunt-sync');
// ```
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

注意:找不到警告“ sync:dev”的工作

答案 3 :(得分:0)

如果您使用的是Linux,请尝试执行sudo sails lift,您可能会遇到权限问题(发生在我身上)。如果Windows - 检查没有文件管理器或其他程序阻止.tmp文件夹(当我在Total Commander中打开文件夹时也发生在我身上)。 在任何情况下,由于您不使用前端,您可以简单地删除一些繁琐的任务(在文件夹任务/您README.md中解释在哪种情况下运行哪些任务)或所有这些任务(见documentation),你不会遇到问题。

答案 4 :(得分:0)

在学习本教程时遇到了同样的问题: https://www.youtube.com/watch?v=ZE7ye2G_H9Q&index=4&list=PLf8i4fc0zJBzLhOe6FwHpGhBDgqwInJWZ

我创建了一个“链接器”文件夹,因为这就是那个人做的,然后提示我错误。看起来他正在使用旧版本的SailsJS,因为他没有遇到任何错误。

您是否有机会在assets文件夹中创建新文件夹?如果你这样做,问题是grunt无法在特定文件夹上运行任务,因为它没有与其余的assets文件夹和文件链接。尝试将所有新创建的文件放在现有文件夹中,然后重试。这对我有用。