2015-03-30 11 views
15

Nie byłem pewien, czy powinno to być pytanie stackoverflow lub serverfault.bcrypt łamie moją aplikację meteorów, jak mogę to naprawić?

Zainstalowałem moduł kont-hasło firmy Meteor i działał lokalnie, ale przerwał moją aplikację po wdrożeniu na serwerze. Oto Scoop:

biegnę najnowszą Meteor 1.0.5 lokalnie na OSX (OS tylko w pełni zaktualizowany) Budynek z --architecture os.linux.x86_64 Wdrażanie do Ubuntu 14.04.2 LTS x86_64 (tylko zaktualizowane) Running nodejs v0.12.1 (świeżo zbudowany) Serving aplikację z nginx v1.4.0

I wciąż się:

/home/secrethistory/bundle/programs/server/node_modules/fibers/future.js:245 
              throw(ex); 
               ^
Error: Module did not self-register. 
    at Error (native) 
    at Module.load (module.js:355:32) 
    at Function.Module._load (module.js:310:12) 
    at Module.require (module.js:365:17) 
    at require (module.js:384:17) 
    at bindings (/home/secrethistory/bundle/programs/server/npm/npm-bcrypt/node_modules/bcrypt/node_modules/bindings/bindings.js:74:15) 
    at Object.<anonymous> (/home/secrethistory/bundle/programs/server/npm/npm-bcrypt/node_modules/bcrypt/bcrypt.js:3:35) 
    at Module._compile (module.js:460:26) 
    at Object.Module._extensions..js (module.js:478:10) 
    at Module.load (module.js:355:32) 

Wszelkie wskazówki lub miejsca patrzenia dalej?

+0

Domyślam się, że nowy Nodejs v0.12 łamie te rzeczy. spróbuj zmienić ustawienia węzła, a następnie spróbuj – ajduke

+0

Próbowałem tego. I nadal nie działa. Wróciłem o 5 do końca z powrotem do 0.10.1. Używanie 'nvm install 0.10.1' –

Odpowiedz

26

Moduł bcrypt to platforma zależne (jak włókna), więc trzeba usunąć pakiet po dekompresji tobołek na serwerze:

rm -R path/to/bcrypt 

następnie zainstalować go ponownie:

npm install bcrypt 
+2

Tak, rzeczywiście. Tak było. Dziękuję Ci. W moim skrypcie instalacyjnym po dodaniu dwóch dodatkowych linii: 'sudo rm -R ./npm/npm-bcrypt/node_modules/bcrypt; sudo npm install bcrypt' –

+0

Wystąpił podobny błąd z simplesmtp. Podobne rozwiązanie [tutaj] (http://stackoverflow.com/questions/28579806/heroku-issue-with-nodemailer/29354086#29354086). –

+2

Jeśli dalej nie działa, po ponownym zainstalowaniu bcrypt sprawdź, czy twoja 'node-gyp' jest właściwą wersją, uruchamiając' node-gyp -v', a jeśli jest nieaktualna, uruchom 'npm update node-gyp -g 'i po tym ponownej instalacji bcrypt. – Nucleon

1

jako Meteor 1.0.5 (dotyczy to również nadchodzącego 1.1), nie przeszliśmy jeszcze pełnego procesu testowania, sprawdzania poprawności i kontroli jakości z Węzłem 0.12. Polecam trzymać się z Węzłem 0.10 do tego momentu. Chociaż najprawdopodobniej będzie to w większości działało, być może niektóre podstawowe zmiany będą konieczne, a jak widzieliście, pakiety binarne zbudowane przeciwko ABI 0.10 nie działają z wersją 0.12.

+1

Wszystko prawda, ale niektórzy z nas borykali się z nieprzyjemną niespodzianką związaną z koniecznością aktualizacji pliku node.js, kiedy aktualizowaliśmy do nowych wydań meteorów. Następnie, gdy aktualizowaliśmy, wpadliśmy na ten problem. A użycie nvm do połączenia się z węzłem 10.x nadal go nie naprawiało (ponieważ najwyraźniej pliki binarne zostały zmienione). Potrzebne było obejście tego problemu. –

Powiązane problemy