2017-06-18 80 views
1

对于我的Sails项目,我需要CoffeeScript 2.x.这是我做了什么:从我的系统 Make Sails使用正确的CoffeeScript版本

  • npm install [email protected] --save
  • packages.json

    • 完全去除的CoffeeScript是用我自己的依赖以下:

      "dependencies": { 
          "coffeescript": "^2.0.0-beta2", 
      // ... 
      

      当我手动编译控制器:

      node-modules/.bin/coffee -c api/controllers/MyController.coffee 
      

      我得到正确的输出。但是,当我启动Sails(node --inspect app.js)时,我可以在调试器中看到控制器已使用旧版本的coffeescript编译。这是甚么可能,因为2.0.0-beta2是唯一安装的版本?

      如何让Sails使用正确版本的CoffeeScript?

    回答

    0

    拉出大部分头发后,我终于得到了一些有用的东西。但这不是一个理想的解决方案,所以更好的想法是受欢迎的。

    1. grunt-contrib-coffee,编辑其package.json依靠的CoffeeScript的版本,我需要。
    2. grunt并作出类似的编辑。
    3. 叉子sails并编辑相关分支来更新依赖关系,现在指定为github:mssever/gruntgithub:mssever/grunt-contrib-coffee。还有一个直接的coffeescript依赖性来更新。
    4. 编辑项目package.json以反映上述依赖关系。
    5. 卸载系统范围sails并手动删除myproject/node-modules下的符号链接,否则您会遇到难以理解的权限错误。
    6. 终于!运行npm update。如果您需要进一步更新,不要考虑会发生什么,因为这将是一个非常头疼的问题。