Как я nodejs ставил в aaPanel
Наверняка есть люди, которые пытались установить сей полезный инструмент себе на VPS или домашний компьютер, приобщиться к миру прекрасного. Многие используют aaPanel для какого-никакого управления сервером, и вот я столкнулся с проблемой, что после установки node.js через менеджер пакетов в aaPanel, не работает команда npm для установки собственно приложения:
[root@vh14803 blabla]# node -v
v16.15.0
[root@vh14803 blabla]# npm install blabla/usr/bin/env: node: No such file or directory
Облазил интернет и stackoverfolw, и там рецепт :
[root@vh14803 blabla]# which npm
alias npm='/www/server/nodejs/v16.15.0/bin/npm'
/www/server/nodejs/v16.15.0/bin/npm
[root@vh14803 blabla]# hash -r
[root@vh14803 blabla]# npm -v
/usr/bin/env: node: No such file or directory
как бы не помог. Расстроился. Ясно, что где-то ссылка не прописана или не та. Поковырялся и подумал, а что если:
[root@vh14803 bin]# /www/server/nodejs/v16.15.0/lib/node_modules/npm/bin/npm-cli.js -v
npm WARN config init.module Use `--init-module` instead.
8.11.0
Уже хорошо, версию выдает. Тогда так:[root@vh14803 bin]# /www/server/nodejs/v16.15.0/lib/node_modules/npm/bin/npm-cli.js ---
init-module
npm WARN invalid config init-module=true set in command line options
npm WARN invalid config Must be valid filesystem path
npm WARN config init.module Use `--init-module` instead.
npm <command>
-----блаблаблаИ для проверки:
[root@vh14803 mesh]# npm
npm WARN config init.module Use `--init-module` instead.
npm <command>
Ну вот и всё! Оболочка знает об npm теперь!
[root@vh14803 blabla]# npm install blablabla
npm WARN config init.module Use `--init-module` instead.
added 145 packages, and audited 146 packages in 41s
А дальше указываем в aaPanel куда мы там все развернули
Кому-то может поможет.
Спасибо пикабушнику @Kalter1
Без рейтинга.
Выражаю искреннюю благодарность пикабушнику @Kalter1 за помощь в реализации очень нужного сервиса.
В общих словах надо было помочь нашим менеджерам получать актуальные цены на нашу же продукцию. Ранее это было "на коленке" сделано в Excel, но оно и работало медленно, и доступно было было только из офиса, а чтобы обновить данные в этом файле надо было выполнить довольно нудный танец с бубном.
Очень хотелось сделать web сервис который бы заменил этот Excel документ.
Техзадание на эту работу было подготовлено еще в августе 2021 и с тех пор ждало своего героя.
Я периодически работаю с 4мя программистами, но ни один из них не спешил браться за эту задачу, предпочитая более привычные.
@Kalter1 же взялся и сделал даже быстрее оговоренного срока. Спасибо.
PS: Работа была не за отзыв если что. Отзыв это просто от избытка чувств)
Прокси-серве для Яндекс.Музыки
Прошлой весной начал разбираться с OpenAPI и решил написать схему для Яндекс.Музыки. Проблема была лишь в том, что из-за CORS нормально пользоваться сгенерированной документацией невозможно. Чтобы отключить CORS в хроме приходилось запускать его с флагом -disable-web-security.
Решение скажем честно - не очень 👎. Правильным решением будет написание прокси-сервера, на котором были бы разрешены кросдоменные запросы. Другими словами, вместо того, чтобы напрямую обращаться к серверу Я.Музыки, на котором запрещены крос-доменные запросы, мы обращаемся к прокси-серверу, который перенапрявляет все наши вопросы к Я.Музыке и возвращает нам ответ. Так как CORS, есть только в браузере, то мы свободно отправляем запросы с нашего прокси сервера на сервер Я.Музыки.
Собственно, вчера я и написал такой прокси-сервер на основе библиотеки cors-anywhere и захостить его на хероку (https://yandex-music-cors-proxy.herokuapp.com/).
Теперь все запросы можно проксировать следующим образом:
https://yandex-music-cors-proxy.herokyapp.com/<any-url>
Например:
https://yandex-music-cors-proxy.herokuapp.com/https://api.mu...
Ресурсы:
- Исходники OpenAPI-схемы Я.Музыки
- OpenAPI документация Я.Музыки
Ещё по теме:
Совместные занятия по Node.js
Всем привет.
В продолжение предыдущих постов, мы до сих пор собираемся на совместные занятия в дискорде и вместе что-то проходим. Обычно у нас нет ярко выраженного ведущего, есть просто ведущий, который так же обучается вместе со всеми, но который запускает лекции, демонстрирует экран, запускает примеры и т.д. И в целом у нас все группы собираются на основе самоорганизации, просто находится один ведущий, который запускает зум или дискорд и желающие подтягиваются.
Мы уже занимаемся какое-то время, занимаемся как языками программирования, так и английским. И вот с 17 января начинаем проходить лекции по ноде, будем проходить лекции Тимура Шемсединова. Вход у нас полностью свободный и бесплатный, поэтому могут добавляться все желающие. Так как на дистанции обычно ходит не так много человек, а активных ещё меньше, всего 3-4 активных человека, остальные или присутствуют не всегда или просто слушают, поэтому можно не бояться, что группа будет слишком перегружена.
Сами занятия у нас проходят в дискорде, но основной сбор в чатике в телеграмме https://t.me/learning_programming_together
Тестовый проект для изучения JS/TS/React/GraphQL/Prisma-2/Next-js и т.п
Всем привет!
Заметка для тех, кто изучает данные технологии. Написал подробную статью по запуску локально докер-проекта со своей заготовкой JS-проекта, чтобы можно было всячески поиграться в практику.
Тут следует отметить, что если вы просто изучаете JS/React, то конечно же достаточно и базового инструмента create-react-app или next-js. Но все же, если метить в коммерческую разработку, то даже на джуна потребуется от вас знаний сильно больше, чем просто базовый реакт. Моя заготовка - это комплексный фуллстэковый проект, включающий в себя в том числе и средства работы с базами данных, GraphQL-API, styled-components и прочие вещи, установленные и настроенные для совместной работы в рамках единого проекта. Освоив даже часть из этого, вы будете знать сильно больше, чем просто реакт. А если вы делаете первые шаги, то все это должно сильно помочь с пониманием как вообще что работает.
Есть момент: материал написан под операционную систему ubuntu. То есть если вы используете такую или подобную, то будет максимально проще, потому что прописанные команды для терминала просто копи-пастите и все. Но если вы используете другоую ОСь, то на вас просто будет ответственность за установку и настройку необходимого ПО: docker, docker-compose, git, node-js. В остальном же тоже все должно работать. Правда на виндах, по-моему, докер совсем не везде устанавливается (на Home вроде как точно не встанет, требуется Professional).
Сама инструкция: https://freecode.academy/topics/zapusk-testovogo-proekta-lok...