Node.js sails 0.9.8不工作,创建控制器并将其提升

Node.js sails 0.9.8不工作,创建控制器并将其提升,node.js,sails.js,waterline,Node.js,Sails.js,Waterline,我的帆0.9.8有问题。我已经在mac上安装了sails和lift,它工作得很好,但当启动生成控制器和模型,然后再次启动lift命令时,它会显示一些错误,如: $sails lift /usr/local/lib/node_modules/sails/node_modules/waterline/lib/waterline/core/index.js:68 var schemaAttributes = this.waterline.schema[this.identity].attri

我的帆0.9.8有问题。我已经在mac上安装了sails和lift,它工作得很好,但当启动生成控制器和模型,然后再次启动lift命令时,它会显示一些错误,如:

$sails lift

/usr/local/lib/node_modules/sails/node_modules/waterline/lib/waterline/core/index.js:68
    var schemaAttributes = this.waterline.schema[this.identity].attributes;
                                                ^
TypeError: Cannot read property 'user' of undefined
    at _.extend._initialize (/usr/local/lib/node_modules/sails/node_modules/waterline/lib/waterline/core/index.js:68:49)
    at module.exports (/usr/local/lib/node_modules/sails/node_modules/waterline/lib/waterline/core/index.js:45:8)
    at module.exports (/usr/local/lib/node_modules/sails/node_modules/waterline/lib/waterline/collection/index.js:57:8)
    at new child (/usr/local/lib/node_modules/sails/node_modules/waterline/lib/waterline/utils/extend.js:17:39)
    at instantiateCollection (/usr/local/lib/node_modules/sails/lib/hooks/orm/index.js:174:25)
    at /usr/local/lib/node_modules/sails/node_modules/async/lib/async.js:108:13
    at Array.forEach (native)
    at _each (/usr/local/lib/node_modules/sails/node_modules/async/lib/async.js:32:24)
    at Object.async.each (/usr/local/lib/node_modules/sails/node_modules/async/lib/async.js:107:9)
    at Hook.startORM (/usr/local/lib/node_modules/sails/lib/hooks/orm/index.js:164:10)
    at Array.bound [as 1] (/usr/local/lib/node_modules/sails/node_modules/lodash/dist/lodash.js:729:21)
    at listener (/usr/local/lib/node_modules/sails/node_modules/async/lib/async.js:462:46)
    at /usr/local/lib/node_modules/sails/node_modules/async/lib/async.js:416:17
    at Array.forEach (native)
    at _each (/usr/local/lib/node_modules/sails/node_modules/async/lib/async.js:32:24)
    at Object.taskComplete (/usr/local/lib/node_modules/sails/node_modules/async/lib/async.js:415:13)
    at processImmediate [as _immediateCallback] (timers.js:330:15)

您可能只是缺少一些模块。例如,如果基本依赖项是使用类似于
sudo npm install sails-g
的东西全局安装的,则新生成的sails应用程序将不会出现任何问题,但一旦您开始添加某些功能,它可能需要其他模块(可能是与您的情况相关的DB适配器)


长话短说,只需在项目文件夹中运行
npm install
,它将创建一个
节点\u modules
子文件夹,并在其中安装项目的依赖项。

根据您从Waterline收到的错误,您的全局Sails依赖项似乎有问题。这不是适用于Sails 0.9.8的水线的正确版本。如果您一直在尝试其他版本的Sails,可能会发生这种情况;npm缓存有点混乱。要更正它,请执行以下操作:

  • sudo npm卸载sails-g
  • npm缓存清除
  • sudo npm安装sails-g

  • 这将重新安装具有所有正确依赖项的sail。你不应该改变你的项目。

    我今天看到了这个问题。在全球范围内重新安装Sails对我不起作用,因为我安装了两个Sails副本。删除本地安装的副本迫使节点使用全局安装的Sails副本及其所有依赖项,这些都解决了所有问题。

    你是对的,但我认为这是因为我的模型已通过waterline验证。那么我如何解决这个问题呢?你是否尝试从项目文件夹中运行
    npm install
    ?上面说什么?