Инструменты пользователя

Инструменты сайта


service:yarn

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
service:yarn [08.11.2024 14:23] – создано viacheslavservice:yarn [11.06.2025 10:30] (текущий) viacheslav
Строка 1: Строка 1:
 +====== 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>

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki