Когда дело доходит до Linux
, я предлагаю Узел обновления с помощью диспетчера пакетов:
Узел поставляется с npm pre- установлен, но менеджер обновляется чаще, чем Node. Запустите npm -v, чтобы увидеть, какая у вас версия, затем npm install npm@latest -g
, чтобы установить новейшее обновление npm. Запустите npm -v
еще раз, если вы хотите убедиться, что npm обновлен правильно.
Чтобы обновить NodeJS
, вам понадобится удобный модуль npm. Запустите этот код, чтобы очистить кэш npm, установите n и установите последнюю стабильную версию Node
:
sudo npm cache clean -f
sudo npm install -g n
sudo n stable
Чтобы установить последнюю версию, используйте n latest
. Кроме того, вы можете запустить n #. #. #, Чтобы получить конкретную версию Node
.
Когда дело доходит до Windows/ macOS
, я предлагаю использовать Установщики на Nodejs.org
Загрузки Node.js страница содержит бинарные пакеты для Windows и macOS - но зачем делать вашу жизнь сложнее? Готовые установщики - .msi для Windows и .pkg для macOS - делают процесс установки невероятно эффективным и понятным. Загрузите и запустите файл, и пусть мастер установки позаботится обо всем остальном. С каждым загруженным обновлением более новые версии Node и npm заменяют старую версию.
В качестве альтернативы пользователи macOS могут использовать приведенные выше инструкции npm и n.
Когда дело доходит до обновления папки node_modules
зависимостей, я предлагаю пропустить все вещи, которые могут вызвать у вас головную боль, и просто перейти к вашему конкретному проекту и снова запустить npm install
.
Прежде чем кто-либо сделает это, я предлагаю сначала проверить ваш файл package.json
на следующее:
Как пользователь пакетов NodeJS, вы можете указать, какие обновления может принимать ваше приложение, в package.json файл. Например, если вы начинали работу с версией пакета 1.0.4, вы можете указать допустимые диапазоны версий обновления тремя основными способами:
Разрешить Патч Выпуски: 1.0 или 1.0.x или ~ 1.0.4
для разрешения незначительных выпусков: 1 или 1.x или ^ 1.0.4
для разрешения мажорных Выпуски: * или x
Объяснение:
ОСНОВНАЯ версия для случаев несовместимых изменений API. -> ~
MINOR версия для случаев, когда функциональность добавляется в обратно совместимой манере. -> ^
PATCH версия для исправлений ошибок с обратной совместимостью. -> *
Одним из больших преимуществ PDO является то, что вы можете создавать подготовленные операторы. Вот код из моего проекта PHP:
$qry = $db->prepare(
'INSERT INTO twocents (path, name, message) VALUES (?, ?, ?)');
$qry->execute(array($path, $name, $message));
Как видите, я использую ?
, где я хочу вставить значение, затем я выполняю запрос с массивом значений, которые должны быть вставлены место вопросительных знаков.
Если вы сделаете это, ваш запрос будет намного безопаснее и с большей вероятностью будет работать (поскольку отсутствующее значение остановит работу вашего запроса, если вы вставите переменные непосредственно в запрос, как вы это делаете).
У вас может быть ошибка в вашем запросе SQL. Вы можете распечатать его, а затем попытаться выполнить в каком-нибудь графическом интерфейсе SQLite, таком как Браузер базы данных SQLite .
// you can skip PDO part for now, because we know it doesn't work
// $dbh = new PDO('sqlite:vets.db');
$query = "INSERT INTO vets(name,email,clinic,streetname,citystatezip,link,phone,fax,animal,region,visible) VALUES ($name,$email,$clinic,$streetname,$citystatezip,$link,$phone,$fax,$animal,$region,$visible)";
echo $query;
// $count = $dbh->exec($query);
// $dbh = null;
Я вижу, что вы не заключаете свои значения в кавычки, возможно, это источник проблемы. Возможно, какие-то опечатки в названиях полей таблицы. Все откроется, как только вы действительно увидите запрос.