Estou enviando um...
Comportamento atual:
PhantomJS 2.1.1 (Linux 0.0.0) ERROR
TypeError: Attempted to assign to readonly property.
at node_modules/angular-mocks/angular-mocks.js:18
Comportamento esperado/novo:
Atualmente, estou usando o Ubuntu 16.04 com virtualenv, esse erro impossibilita a execução do meu servidor front-end. O que está dificultando o trabalho no back-end.
Reprodução mínima do problema com instruções:
corrida.
gulp dev:runserver
Erro total
[18:25:34] Using gulpfile ~/OpenSource/evalai/gulpfile.js
[18:25:34] Starting 'dev:runserver'...
[18:25:34] Starting 'dev'...
[18:25:34] Starting 'clean'...
[18:25:34] Finished 'clean' after 50 ms
[18:25:34] Starting 'css'...
[18:25:34] Starting 'js'...
[18:25:34] Finished 'js' after 26 ms
[18:25:34] Starting 'html'...
[18:25:34] Finished 'html' after 1.96 ms
[18:25:34] Starting 'images'...
[18:25:34] Starting 'vendorjs'...
Required path doesn't exist: /home/isht3/OpenSource/evalai/bower_components/angular-material-datetimepicker/dist/angular-material-datetimepicker.min.js angular-material-datetimepicker
[18:25:34] Finished 'vendorjs' after 895 μs
[18:25:34] Starting 'vendorcss'...
Required path doesn't exist: /home/isht3/OpenSource/evalai/bower_components/angular-material-datetimepicker/css/material-datetimepicker.css angular-material-datetimepicker
[18:25:34] Finished 'vendorcss' after 430 μs
[18:25:34] Starting 'fonts'...
[18:25:34] Starting 'configDev'...
[18:25:34] Finished 'configDev' after 4.82 ms
[18:25:34] Finished 'fonts' after 222 ms
[18:25:34] Finished 'images' after 232 ms
[18:25:34] Finished 'css' after 576 ms
[18:25:34] Starting 'inject'...
[18:25:34] Finished 'inject' after 4.73 ms
[18:25:34] Finished 'dev' after 634 ms
[18:25:34] Starting 'lint'...
[18:25:35] gulp-inject 9 files into base.html.
[18:25:36] Finished 'lint' after 1.56 s
[18:25:36] Starting 'connect'...
[18:25:36] Finished 'connect' after 17 ms
[18:25:36] Starting 'watch'...
[18:25:36] Finished 'watch' after 135 ms
[18:25:36] Starting 'test:watch'...
[18:25:36] Server started http://localhost:8888
10 10 2017 18:25:36.655:WARN [watcher]: Pattern "/home/isht3/OpenSource/evalai/frontend/dist/vendors/*.js" does not match any file.
10 10 2017 18:25:36.696:WARN [karma]: No captured browser, open http://localhost:9876/
10 10 2017 18:25:36.705:INFO [karma]: Karma v1.7.1 server started at http://0.0.0.0:9876/
10 10 2017 18:25:36.705:INFO [launcher]: Launching browser PhantomJS with unlimited concurrency
10 10 2017 18:25:36.730:INFO [launcher]: Starting browser PhantomJS
10 10 2017 18:25:37.024:INFO [PhantomJS 2.1.1 (Linux 0.0.0)]: Connected on socket JifOUk5oAkoB3DrkAAAA with id 22967302
START:
PhantomJS 2.1.1 (Linux 0.0.0) ERROR
TypeError: Attempted to assign to readonly property.
at node_modules/angular-mocks/angular-mocks.js:18
Finished in 0.143 secs / 0 secs @ 18:25:37 GMT+0530 (IST)
SUMMARY:
✔ 0 tests completed
Pesquisei muito, não encontrei nada sobre como eu poderia resolver isso. Sou novo em angular.
Qual versão do AngularJS você está usando? O que está na linha 18 node_modules/angular-mocks/angular-mocks.js
(que é mencionada no rastreamento de pilha)?
Este é um grande palpite, pois você não forneceu informações suficientes para ter certeza, mas acredito que a linha em que você está recebendo o erro é
angular.mock = {};
o que implica que angular.mock
é uma propriedade readonly ou possivelmente que angular
não existe. No último caso, acho que a mensagem de erro é uma pista falsa?
Se este for o caso, pode ser que você não tenha carregado o arquivo angular.js
antes de carregar o arquivo angular-mocks.js
?
@gkalpak @petebacondarwin Não sei exatamente o que estava dando errado, não tenho experiência suficiente em depuração no Angular, mas foi resolvido quando executei bower install angular-material-datetimepicker
. Eu vi alguns problemas sobre isso no passado, espero que isso ajude quem se deparar com esse erro.