Я пытаюсь установить an npm package (markdown-pdf) как часть моей сборки Travis-CI, которая, как я считаю, несовместима со старыми версиями узла. На моей локальной машине я запускаю Node версии 0.10.36, и он работает здесь, поэтому я добавил, что, как я считаю, является приемлемым способом определения конкретной версии в верхней части моего файла .travis.yml
(хотя я не понимаю что либо). Версия полного файла MCVE приведена ниже.Travis - Control Какая версия узла используется для установки NPM
language: node_js
node_js:
- "0.10"
install:
- sudo apt-get install npm
- npm config set registry http://registry.npmjs.org/
- sudo npm install -g markdown-pdf
script:
- echo "stuff was installed."
В верхней части журнала сборки, я вижу следующее, что, кажется, указывают, что мое изменение работали:
$ nvm install 0.10
######################################################################## 100.0%
Now using node v0.10.40
$ node --version
v0.10.40
$ npm --version
1.4.28
$ nvm --version
0.23.3
Однако дальше журнал, когда Трэвис пытается выполнить sudo npm install -g markdown-pdf
, журнал сообщает следующее. Обратите внимание, что это предполагает, что пакет может быть несовместим с установленной версией узла, а утверждает, что я использую Node v0.6.12.
$ sudo npm install -g markdown-pdf
npm http GET http://registry.npmjs.org/markdown-pdf
npm http 200 http://registry.npmjs.org/markdown-pdf
npm ERR! Error: No compatible version found: markdown-pdf
npm ERR! No valid targets found.
npm ERR! Perhaps not compatible with your version of node?
npm ERR! at installTargetsError (/usr/share/npm/lib/cache.js:488:10)
npm ERR! at next_ (/usr/share/npm/lib/cache.js:438:17)
npm ERR! at next (/usr/share/npm/lib/cache.js:415:44)
npm ERR! at /usr/share/npm/lib/cache.js:408:5
npm ERR! at saved (/usr/share/npm/lib/utils/npm-registry-client/get.js:147:7)
npm ERR! at Object.oncomplete (/usr/lib/nodejs/graceful-fs.js:230:7)
npm ERR! You may report this log at:
npm ERR! <http://bugs.debian.org/npm>
npm ERR! or use
npm ERR! reportbug --attach /home/travis/build/ahemmeter/ahemmeter.github.io/npm-debug.log npm
npm ERR!
npm ERR! System Linux 2.6.32-042stab108.3
npm ERR! command "node" "/usr/bin/npm" "install" "-g" "markdown-pdf"
npm ERR! cwd /home/travis/build/ahemmeter/ahemmeter.github.io
npm ERR! node -v v0.6.12
npm ERR! npm -v 1.1.4
npm ERR! message No compatible version found: markdown-pdf
npm ERR! message No valid targets found.
npm ERR! message Perhaps not compatible with your version of node?
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /home/travis/build/ahemmeter/ahemmeter.github.io/npm-debug.log
npm not ok
Я думаю, что я предоставил достаточно информации, но вы также можете посмотреть на public build logs for the project и github repository это здание.
Я допустил ошибку в объявлении, какую версию узла использовать? Нужно ли мне (или мне делать) что-то подобное для npm, nvm и markdown-pdf? Как заставить npm-install использовать более новую версию узла, а не старую?
Обратите внимание, что я установил репозиторий для загрузки через HTTP вместо HTTPS. Когда я это сделал, сообщение об ошибке изменилось с «не удалось извлечь из реестра: markdown-pdf» на «Совместимая версия: markdown-pdf», которая казалась шагом в правильном направлении, поэтому я сохранил ее; однако я упоминаю это здесь, если есть вероятность, что это вызывает конфликт.
Мне нужно использовать файл 'package.json'? это не предназначено для пакета узлов, я просто использую инструмент npm из командной строки. –