git branch -D <name-of-branch>
git branch -D -r origin/<name-of-branch>
git push origin :<name-of-branch>
Согласно документации , Node.js по умолчанию будет искать в следующих местах:
$HOME/.node_modules
(глобальный) Примечание: $HOME
является пользовательским home. $HOME/.node_libraries
(глобальный) $PREFIX/lib/node
(глобальный) Примечание: $PREFIX
настроен на Node.js node_prefix
. Чтобы проверить текущее значение node_prefix
, запустите: node -p process.config.variables.node_prefix
Примечание: префикс соответствует параметру --prefix
во время сборки и соответствует process.execPath
. Не путать со значением из команды npm config get prefix
. source node_modules
. (local) NODE_PATH
. Примечание: переменная среды NODE_PATH
установлена в список абсолютных путей с разделителем двоеточия. Если данный модуль не может быть найден, это означает, что он отсутствует в одном из выше.
Местоположение глобальной корневой папки, где установлены модули, может быть напечатано: npm root -g
(по умолчанию путь вычисляется во время выполнения, если не переопределен в файле npmrc
).
Вы можете попробовать следующие обходные пути:
NODE_PATH
. Например. echo 'require("forever")' | NODE_PATH="$(npm root -g):$NODE_PATH" node
Чтобы проверить и распечатать значение NODE_PATH
, запустите: echo 'console.log(process.env.NODE_PATH); require("forever")' | NODE_PATH="$(npm root -g):$NODE_PATH" node
$HOME/.node_modules
, чтобы указать на корневую папку, выполнив эту команду : ln -vs "$(npm root -g)" "$HOME"/.node_modules
Затем повторите проверку с помощью команды echo 'require("forever")' | node
. npm install -g forever
cd "$(npm root -g)"
echo 'require("forever")' | node
cd -
npm
userconfig (см. npm help 5 npmrc
) или параметром userconfig
(--prefix
). Чтобы отобразить текущую конфигурацию, запустите: npm config list
. Чтобы отредактировать текущую конфигурацию, запустите: npm config edit
. require()
. Например. require("/path/to/sub/module")
npm install forever -g --prefix "$HOME"/.node_modules
Однако установка будет проходить под ~/.node_modules/lib/node_modules/
, поэтому местоположение должно быть добавлено. См. npm локальный пакет установки в пользовательское местоположение npm link forever
Я знаю, что это старый вопрос, но я столкнулся с этим при попытке выполнить некоторую проверку версий с помощью semver
в скрипте preinstall
в package.json
. Поскольку я знал, что не могу зависеть от каких-либо локальных модулей, я использовал это, чтобы потребовать semver
из глобальной папки node_modules
(поскольку npm
зависит от этого, я знаю, что он есть):
function requireGlobal(packageName) {
var childProcess = require('child_process');
var path = require('path');
var fs = require('fs');
var globalNodeModules = childProcess.execSync('npm root -g').toString().trim();
var packageDir = path.join(globalNodeModules, packageName);
if (!fs.existsSync(packageDir))
packageDir = path.join(globalNodeModules, 'npm/node_modules', packageName); //find package required by old npm
if (!fs.existsSync(packageDir))
throw new Error('Cannot find global module \'' + packageName + '\'');
var packageMeta = JSON.parse(fs.readFileSync(path.join(packageDir, 'package.json')).toString());
var main = path.join(packageDir, packageMeta.main);
return require(main);
}
Мне нравится этот подход, потому что для этого не требуется установка каких-либо специальных модулей.
Я не пошел с решением NODE_PATH
, как это предлагали другие, поскольку я хотел чтобы это работало на чьей-то машине, без необходимости требовать дополнительной настройки / настройки перед запуском npm install
для моего проекта.
Как это закодировано, гарантируется только найти модули верхнего уровня (установлены используя npm install -g ...
) или модули, требуемые npm
(перечислены как dependencies
здесь: https://github.com/npm/npm/blob/master/package.json ). Если вы используете более новую версию NPM, она может найти зависимости от других пакетов, установленных на глобальном уровне, так как теперь существует более плотная структура для папок node_modules
.
Надеюсь, это кому-то полезно.
Вы можете использовать пакет requireg
для решения этой проблемы:
var forever = require('requireg')('forever')
выполнит трюк.
Кроме того, есть еще один модуль , global-npm
, хотя и для использования только глобального npm
, вы можете посмотреть короткий код и посмотреть, как работает эта техника.
Извинения за некромантию, но я могу указать жестко закодированные пути к глобально установленным модулям:
var pg = require("/usr/local/lib/node_modules/pg");
Это не идеально, но учитывая, что Unity3d пытается «скомпилировать» весь javascript, который включен в каталог проекта. Я действительно не могу установить какие-либо пакеты.
Вы можете поместить эту строку в свой файл .profile
:
export NODE_PATH = "$ (префикс префикса npm config) / lib / node_modules"
blockquote>Это сделает
node
использование глобального пути.
После установки пакета по всему миру вам нужно связать локальный проект с глобальным пакетом
npm install express -g
cd ~/mynodeproject/
npm link express