2012-11-20 2 views
11

Я сделал установку разработки CKAN и запускаю с debug = true в моем файле development.ini. При посещении Localhost: 5000 Я получаю сообщение об ошибке с TRACEBACK которого конечная точка ошибка:CKAN Development Install Issue: AttributeError: объект 'module' не имеет атрибута 'css/main.debug.css'

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

Вызванный вызова в Lib/helpers.py:

r = getattr(fanstatic_resources, resource) 

Любая идея, что я делать неправильно и что я могу сделать, чтобы исправить эту ошибку.

ответ

14

Чтобы создать файл main.debug.css, необходимо запустить сценарий less из каталога bin в исходном коде CKAN. Существует some documentation of this, но он еще не интегрирован с остальными документами CKAN (т. Е. В нем нет ссылки, у нас есть билет, чтобы исправить это).

Это работает на Ubuntu 12.04, вам может понадобиться, чтобы ваш virtualenv активен, когда вы делаете это:

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

Теперь перезапустите команду paster serve development.ini и он должен работать.

Вообще говоря, когда работает CKAN 2,0 для развития НУЖНО:

  • Have debug = True в вашем ини файле
  • Have ./bin/less работает в терминальном все время
5

берегись, apt-get install nodejs устанавливает nodejs и NOT node в /usr/bin, по крайней мере, в Ubuntu 12.10 (я не проверял другие дистрибутивы). Это вызывает ошибки, так как ckan/bin/less, а также ckan/node_modules/less/bin/lessc вызывают node. Поэтому либо создайте softlink в/usr/bin, либо измените скрипты (#!/usr/bin/env nodejs).

+0

хороший наконечник @hbunke. Мне не нужно было это делать в Ubuntu 12.04. Но вы правы, похоже, что в 12.10 '/ usr/bin/node' стал'/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

Я использую Ubuntu 12.04 и испытывает некоторые проблемы с этим

получаю эту ошибку после выполнения ответы Шона и работает

npm install less nodewatch

и получил эту ошибку:

(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 

Найдено thread, что объясняет это решение и предлагает решение для выполнения

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

Однако после выполнения вышеуказанной команды я получаю эту ошибку:

(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 

Походит версии несовместимы или это могло быть проблема с узлом и Node.js?

Cheers, Шао

+2

Ошибка произошла из-за старой версии узла, установленной с помощью apt-get. Чтобы решить эту проблему, я выполнил инструкции из [здесь] (https://rtcamp.com/tutorials/nodejs/node-js-npm-install-ubuntu/) и после официальной документации ckan [здесь] (http: // docs.ckan.org/en/ckan-2.0.2/frontend-development.html), чтобы установить его в правильный каталог. – shaoming

3

Я получил несколько ошибок при установке пакетов.Ниже приводится решение (в соответствии с official CKAN docs) для нетерпеливых:

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

отлично поработал для меня! –

 Смежные вопросы

  • Нет связанных вопросов^_^