Следующая версия | Предыдущая версия |
service:yarn [08.11.2024 14:23] – создано viacheslav | service:yarn [11.06.2025 10:30] (текущий) – viacheslav |
---|
| ====== yarn ====== |
| Проблема: доступа в интернет нет, но есть кэш node-модулей. Рутовых прав тоже нет, так что установить глобально в систему ничего не выйдет.\\ |
| В ''package.json'' такое (фрагмент): |
| <file java 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" |
| } |
| </file> |
| При попытке сборки ошибка: <color #ed1c24>'cross-env' is not recognized as an internal or external command</color> |
| |
| Костыль - править ''package.json'', указав: |
| <code bash> |
| 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 |
| </code> |
| |
| Общий вид настройки yarn (в Teamcity): |
| <code bash> |
| 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 |
| </code> |