Как установить Yeoman на сервер Openshift Tomcat

У меня есть Java Spring в качестве стека серверов и с AngularJS для стека пользовательского интерфейса.

Часть процесса сборки, которая мне нужна для запуска Jenkins Grunt build оптимизировать пользовательский интерфейс до начала процесса сборки.

Я попытался установить Yeoman на экземпляр Jenkins, но, поскольку я не являюсь администратором, я получаю ошибки Access.

[\> npm install -g yo
npm ERR! Error: EACCES, mkdir '/var/lib/openshift/<ID>/.npm'
npm ERR!  { [Error: EACCES, mkdir '/var/lib/openshift/<ID>/.npm']
npm ERR!   errno: 3,
npm ERR!   code: 'EACCES',
npm ERR!   path: '/var/lib/openshift/<ID>/.npm' }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.

1 ответ

Вы получаете ошибку доступа, потому что пытаетесь выполнить глобальную установку - вот что -g флаг делает. Другими словами, вы пытаетесь установить yeoman в общесистемном расположении, а не локально, что требует прав суперпользователя.

Кроме того, вам не нужно устанавливать yeoman в производственной среде - yeoman просто создает леса приложений. Если вы используете yeoman локально, он должен добавить grunt и все необходимые плагины grunt в файл package.json в вашем приложении. Убедитесь, что файл package.json зарегистрирован, а затем, как часть процесса сборки, вы можете запустить npm install, затем grunt build,

Я не уверен, как Дженкинс влияет на процесс сборки, но обычно, npm install будет запускаться автоматически при добавлении нового коммита в приложение OpenShift.

Другие вопросы по тегам