Как установить 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.