Estoy enviando un...
Comportamiento actual:
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
Comportamiento esperado / nuevo:
Actualmente estoy usando Ubuntu 16.04 con virtualenv, este error hace que no pueda ejecutar mi servidor frontend. Lo que dificulta el trabajo en el backend.
Reproducción mínima del problema con instrucciones:
corriendo.
gulp dev:runserver
todo el error
[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
Busqué mucho, no encontré nada sobre cómo podría resolverlo. Soy nuevo en angular.
¿Qué versión de AngularJS estás usando? ¿Qué hay en la línea 18 de node_modules/angular-mocks/angular-mocks.js
(que se menciona en el seguimiento de la pila)?
Esta es una gran suposición ya que no ha proporcionado suficiente información para estar seguro, pero creo que la línea donde está obteniendo el error es
angular.mock = {};
lo que implica que angular.mock
es una propiedad de solo lectura o posiblemente que angular
no existe. En este último caso, ¿supongo que el mensaje de error es una pista falsa?
Si este es el caso, es posible que no haya cargado el archivo angular.js
antes de cargar el archivo angular-mocks.js
.
@gkalpak @petebacondarwin No sé exactamente qué estaba saliendo mal, no tengo suficiente experiencia de depuración en Angular, pero se resolvió cuando ejecuté bower install angular-material-datetimepicker
. Vi algunos problemas sobre esto en el pasado, espero que esto ayude a quien se encuentre con este error.