2012-11-20 12 views
11

Zrobiłem instalację rozwojową CKAN i działam z debugiem = true w moim pliku development.ini. Na odwiedzenie localhost: 5000 pojawia się błąd z traceback którego punkt końcowy jest błąd:Instalacja CKAN Development Problem: AttributeError: obiekt 'module' nie ma atrybutu "css/main.debug.css"

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

Spowodowany przez wywołanie w lib/helpers.py:

r = getattr(fanstatic_resources, resource) 

Każdy pomysł co mam robić źle i co mogę zrobić, aby naprawić ten błąd.

Odpowiedz

14

Należy uruchomić skrypt less z katalogu bin w kodzie źródłowym CKAN, aby utworzyć plik main.debug.css. Jest some documentation of this, ale nie jest jeszcze zintegrowany z pozostałymi dokumentami CKAN (tzn. Nie ma tam żadnego łącza, mamy bilet, aby to naprawić).

To działa na Ubuntu 12.04, może trzeba mieć swój virtualenv aktywny kiedy to zrobić:

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

Teraz ponownie uruchomić komendę paster serve development.ini i powinno działać.

Ogólnie rzecz biorąc, gdy uruchomiony CKAN 2.0 dla rozwoju należy:

  • Have debug = True w pliku ini
  • Have ./bin/less uruchomiony w terminalu cały czas
5

Pamiętaj, że apt-get install nodejs instaluje nodejs i NOT node w /usr/bin, przynajmniej w Ubuntu 12.10 (nie sprawdzałem w innych dystrybucjach). To powoduje błędy, ponieważ zarówno ckan/bin/less, jak i ckan/node_modules/less/bin/lessc dzwoni node. Zatem utwórz miękki link w katalogu/usr/bin lub zmodyfikuj skrypty (#!/usr/bin/env nodejs).

+0

Dobrą wskazówką @hbunke. Nie musiałem tego robić w Ubuntu 12.04. Ale masz rację, wydaje się, że w 12.10 '/ usr/bin/node' ma nazwę'/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

Używam Ubuntu 12.04 i przeżywa pewne problemy z tym

był już tego błędu po wykonaniu odpowiedzi Seana i działa

npm install less nodewatch

i dostał ten błąd:

(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 

Znaleziono kolejny thread, który wyjaśnia to i oferuje rozwiązanie do wykonania

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

Jednak po uruchomieniu powyższego polecenia otrzymuję ten błąd:

(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 

wydaje się wersji są niekompatybilne lub może to być problem z węzłem i node.js?

Cheers, Shao

+2

Błąd był spowodowany starą wersją węzła zainstalowaną za pomocą apt-get. Aby rozwiązać ten problem, postępowałem zgodnie z instrukcjami od [here] (https://rtcamp.com/tutorials/nodejs/node-js-npm-install-ubuntu/) i postępując zgodnie z oficjalną dokumentacją ckan [tutaj] (http: // docs.ckan.org/en/ckan-2.0.2/frontend-development.html), aby zainstalować go w odpowiednim katalogu. – shaoming

3

mam kilka błędów podczas instalacji pakietów.Poniżej znajduje się roztwór (według official CKAN docs) dla niecierpliwy:

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

pracował dla mnie świetnie! –