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

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


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

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki