2012-11-20 4 views
11

Ho eseguito un'installazione di sviluppo CKAN e sono in esecuzione con debug = true nel file development.ini. Visitando localhost: 5000 ottengo un errore con un traceback cui punto finale è l'errore:Installazione di CKAN Problema: AttributeError: l'oggetto 'module' non ha attributo 'css/main.debug.css'

AttributeError: 'module' object has no attribute 'css/main.debug.css' 

causato dalla chiamata in lib/helpers.py:

r = getattr(fanstatic_resources, resource) 

Qualsiasi idea di cosa sto fare male e cosa posso fare per correggere questo errore.

risposta

14

È necessario eseguire lo script less dalla directory bin nel codice sorgente CKAN per creare il file main.debug.css. C'è some documentation of this ma non è ancora integrato con il resto dei documenti CKAN (cioè non c'è alcun collegamento ad esso ovunque, abbiamo un ticket per risolvere questo problema).

Questo funziona su Ubuntu 12.04, potrebbe essere necessario avere il vostro virtualenv attivo quando si esegue questa operazione:

sudo apt-get install nodejs npm 
npm install less nodewatch 
./bin/less # Assuming you're in your ckan dir e.g. `~/pyenv/src/ckan` 

Ora riavviare il comando paster serve development.ini e dovrebbe funzionare.

In generale ogni volta che esegue CKAN 2.0 per lo sviluppo è necessario:

  • Avere debug = True nel file ini
  • Avere ./bin/less in esecuzione in un terminale per tutto il tempo
5

Attenzione che apt-get install nodejs installa nodejs e NON node in /usr/bin, almeno in Ubuntu 12.10 (non ho controllato altre distribuzioni). Ciò genera errori poiché sia ​​ckan/bin/less che ckan/node_modules/less/bin/lessc chiamano node. Quindi, creare un collegamento software in/usr/bin o modificare gli script (#!/usr/bin/env nodejs).

+0

Buon consiglio @hbunke. Non ho dovuto farlo in Ubuntu 12.04. Ma hai ragione, sembra che in 12.10 '/ usr/bin/node' sia diventato'/usr/bin/nodejs' ([Ubuntu 12.04] (http://packages.ubuntu.com/precise/amd64/nodejs/ filelist), [Ubuntu 12.10] (http://packages.ubuntu.com/quantal/amd64/nodejs/filelist)). –

0

sto usando un'Ubuntu 12.04 e sperimentando alcuni problemi con questo

è stato sempre questo errore dopo aver seguito le risposte di Sean e funzionante

npm install less nodewatch

e ottenuto questo errore:

(default)[email protected]:/# npm install less nodewatch 
npm http GET https://registry.npmjs.org/less 
npm http GET https://registry.npmjs.org/nodewatch 
npm ERR! Error: failed to fetch from registry: less 
npm ERR!  at /usr/share/npm/lib/utils/npm-registry-client/get.js:139:12 
npm ERR!  at cb (/usr/share/npm/lib/utils/npm-registry-client/request.js:31:9) 
npm ERR!  at Request._callback (/usr/share/npm/lib/utils/npm-registry-client/request.js:136:18) 
npm ERR!  at Request.callback (/usr/lib/nodejs/request/main.js:119:22) 
npm ERR!  at Request.<anonymous> (/usr/lib/nodejs/request/main.js:212:58) 
npm ERR!  at Request.emit (events.js:88:20) 
npm ERR!  at ClientRequest.<anonymous> (/usr/lib/nodejs/request/main.js:412:12) 
npm ERR!  at ClientRequest.emit (events.js:67:17) 
npm ERR!  at HTTPParser.onIncoming (http.js:1261:11) 
npm ERR!  at HTTPParser.onHeadersComplete (http.js:102:31) 
npm ERR! You may report this log at: 
npm ERR!  <http://bugs.debian.org/npm> 
npm ERR! or use 
npm ERR!  reportbug --attach /npm-debug.log npm 
npm ERR! 
npm ERR! System Linux 3.8.0-29-generic 
npm ERR! command "node" "/usr/bin/npm" "install" "less" "nodewatch" 
npm ERR! cwd/
npm ERR! node -v v0.6.12 
npm ERR! npm -v 1.1.4 
npm ERR! message failed to fetch from registry: less 
npm ERR! 
npm ERR! Additional logging details can be found in: 
npm ERR!  /npm-debug.log 
npm not ok 

Trovato un altro thread che spiega questo e offre la soluzione per eseguire

npm config set registry http://registry.npmjs.org/ 

Tuttavia dopo l'esecuzione del comando precedente sto ottenendo questo errore:

(default)[email protected]:/# npm config set registry http://registry.npmjs.org/ 
(default)[email protected]:/# npm install less nodewatch 
npm http GET http://registry.npmjs.org/less 
npm http GET http://registry.npmjs.org/nodewatch 
npm http 200 http://registry.npmjs.org/less 
npm http GET http://registry.npmjs.org/less/-/less-1.6.3.tgz 
npm http 200 http://registry.npmjs.org/nodewatch 
npm http GET http://registry.npmjs.org/nodewatch/-/nodewatch-0.3.1.tgz 
npm http 200 http://registry.npmjs.org/less/-/less-1.6.3.tgz 
npm http 200 http://registry.npmjs.org/nodewatch/-/nodewatch-0.3.1.tgz 
npm http GET http://registry.npmjs.org/mime 
npm http GET http://registry.npmjs.org/request 
npm http GET http://registry.npmjs.org/mkdirp 
npm http GET http://registry.npmjs.org/clean-css 
npm http GET http://registry.npmjs.org/source-map 
npm http 200 http://registry.npmjs.org/request 
npm http GET http://registry.npmjs.org/request/-/request-2.33.0.tgz 
npm http 200 http://registry.npmjs.org/request/-/request-2.33.0.tgz 
npm http 200 http://registry.npmjs.org/mime 
npm http GET http://registry.npmjs.org/mime/-/mime-1.2.11.tgz 
npm http 200 http://registry.npmjs.org/mkdirp 
npm http 200 http://registry.npmjs.org/clean-css 
npm http GET http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz 
npm WARN optional dependency failed, continuing [email protected] 
npm http 200 http://registry.npmjs.org/source-map 
npm http 200 http://registry.npmjs.org/mime/-/mime-1.2.11.tgz 
npm http GET http://registry.npmjs.org/source-map/-/source-map-0.1.3.tgz 
npm http 200 http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz 
npm http 200 http://registry.npmjs.org/source-map/-/source-map-0.1.3.tgz 
npm ERR! error installing [email protected] 
npm ERR! error rolling back [email protected] Error: UNKNOWN, unknown error '/node_modules/less' 

npm ERR! Unsupported 
npm ERR! Not compatible with your version of node/npm: [email protected] 
npm ERR! Required: ["node >= 0.8.0"] 
npm ERR! Actual: {"npm":"1.1.4","node":"0.6.12"} 
npm ERR! 
npm ERR! System Linux 3.8.0-29-generic 
npm ERR! command "node" "/usr/bin/npm" "install" "less" "nodewatch" 
npm ERR! cwd/
npm ERR! node -v v0.6.12 
npm ERR! npm -v 1.1.4 
npm ERR! code ENOTSUP 
npm ERR! message Unsupported 
npm ERR! errno {} 
npm http GET http://registry.npmjs.org/requirejs/0.26.0 
npm ERR! 
npm ERR! Additional logging details can be found in: 
npm ERR!  /npm-debug.log 
npm not ok 

Sembra come la versione incompatibili o questo potrebbe essere il problema con nodo e node.js?

Cheers, Shao

+2

L'errore era dovuto a una vecchia versione del nodo installato usando apt-get. Per risolvere questo, ho seguito le istruzioni da [qui] (https://rtcamp.com/tutorials/nodejs/node-js-npm-install-ubuntu/) e seguendo la documentazione ufficiale di ckan [qui] (http: // docs.ckan.org/en/ckan-2.0.2/frontend-development.html) per installarlo nella directory corretta. – shaoming

3

ho ottenuto alcuni errori durante l'installazione dei pacchetti.In seguito è la soluzione (secondo official CKAN docs) per impazienti:

cp /usr/lib/ckan/default/src/ckan/ckan/public/base/css/main.css /usr/lib/ckan/default/src/ckan/ckan/public/base/css/main.debug.css

+1

ha funzionato alla grande per me! –

Problemi correlati