2015-09-26 47 views
5

我已經安裝了npm模塊,並且在解除我的應用程序時,它會給出以下錯誤。我無法在GitHub問題或Wiki中找到任何合適的解決方案。sails-auth模塊給出「無法讀取屬性'loadStrategies'未定義」

該模塊是here。正如他們所指出的,我已經在我的config目錄中包含了passport.js和auth.js文件。

$ sails lift 

info: Starting app... 

/home/me/Documents/projects/margin/node_modules/sails-auth/api/hooks/sails-auth.js:4 
    sails.services.passport.loadStrategies(); 
         ^
TypeError: Cannot read property 'loadStrategies' of undefined 

at Hook.initialize (/home/me/Documents/projects/margin/node_modules/sails-auth/api/hooks/sails-auth.js:4:30) 
at Hook.bound [as initialize] (/usr/local/lib/node_modules/sails/node_modules/lodash/dist/lodash.js:729:21) 
at /usr/local/lib/node_modules/sails/lib/hooks/index.js:75:14 
at /usr/local/lib/node_modules/sails/node_modules/async/lib/async.js:454:17 
at /usr/local/lib/node_modules/sails/node_modules/async/lib/async.js:444:17 
at Array.forEach (native) 
at _each (/usr/local/lib/node_modules/sails/node_modules/async/lib/async.js:46:24) 
at Immediate.taskComplete (/usr/local/lib/node_modules/sails/node_modules/async/lib/async.js:443:13) 
at processImmediate [as _immediateCallback] (timers.js:358:17) 
+0

你能否要求('護照')'成功?如果是的話,你可以使用它來代替'sails.services.passport'(不知道爲什麼這不起作用)。否則,您的模塊無法訪問該項目;嘗試在本地重新安裝它。 – galactocalypse

+0

看起來它是一個'很難解決故障':掛鉤期望它的服務在被加載之前被加載,事實並非如此。另外,Sails.js和sails-auth鉤子都遠離最新版本1.11.2和1.3.1。所以,我期望sails.js團隊的解決方案需要時間。 直到那時,我現在直接使用passport.js。對這種選擇感興趣的人可以在這裏找到它的描述(http://younes-ouadi.blogspot.com/2015/10/passportjs-for-sailsjs.html)。 – Younes

回答

3

我在我的一個sails應用程序庫中遇到了同樣的問題。我通過安裝以前版本的sails-auth來修復它。

npm install [email protected]

這個固定爲我。我也更新依賴性引用我package.json

"sails-auth": "^1.0.10",

"sails-auth": "1.2.3",

這我能沒有問題解除後。我在這裏創建了一個問題報告:https://github.com/balderdashy/sails/issues/3385

希望這會有所幫助。

+0

乾杯隊友,多數民衆贊成在爲我工作。 –

+0

我可以用'sails @ 0.11.3'使用'sails-auth @ 2.1.1'。 –

相關問題