service:yarn
yarn
Проблема: доступа в интернет нет, но есть кэш node-модулей. Рутовых прав тоже нет, так что установить глобально в систему ничего не выйдет.
В package.json
такое (фрагмент):
- package.json
"scripts": { "build": "cross-env NODE_ENV=production webpack", "build-prod": "cross-env NODE_ENV=production webpack", "build-dev": "cross-env NODE_ENV=development webpack", "start": "cross-env NODE_ENV=development IS_DEV_SERVER=true webpack serve" }, "devDependencies": { "cross-env": "^5.1.3", "css-loader": "^6.8.1", "webpack": "^1.2.3" }
При попытке сборки ошибка: 'cross-env' is not recognized as an internal or external command
Костыль - править package.json
, указав:
sed -i 's#cross-env NODE_ENV=#node node_modules/cross-env/dist/bin/cross-env.js NODE_ENV=#g' ./package.json sed -i 's#\(.*cross-env.*\)webpack\(.*\)#\1node_modules/webpack/bin/webpack.js\2#g' ./package.json # Результат: node node_modules/cross-env/dist/bin/cross-env.js NODE_ENV=production node_modules/webpack/bin/webpack.js
Общий вид настройки yarn (в Teamcity):
cd ./project-parent/project/new-ui ### yarn yarn cache clean yarn config set registry "https://nexus.example.com/repository/project-npm/" yarn config set "//nexus.example.com/repository/project-npm/:username %nexus_username%" yarn config set "//nexus.example.com/repository/project-npm/:_password %nexus_password%" ### Fix path to cross-env in package.json sed -i 's#cross-env NODE_ENV=#node node_modules/cross-env/dist/bin/cross-env.js NODE_ENV=#g' ./package.json sed -i 's#\(.*cross-env.*\)webpack\(.*\)#\1node_modules/webpack/bin/webpack.js\2#g' ./package.json ### node modules curl -Lku %nexus_username%:%nexus_password% -o node_modules.zip \ "https://nexus.example.com/repository/project-raw/node_modules/node_modules_test.zip" unzip -q node_modules.zip && rm -f node_modules.zip
service/yarn.txt · Последнее изменение: — viacheslav