我正在尝试修改具有多个依赖项的 npm 包。因此npm install -g .
需要很长时间来执行。除了从packages.json 中删除依赖项之外,我还有其他选择吗?
在 NixOS 中,我yarn
像往常一样通过运行$ nix-env -i yarn
. 现在我试图yarn
通过$ yarn start
. 但这导致我出现以下错误。
$ yarn start
yarn start v0.20.3
$ webpack-dev-server --env dev
sh: webpack-dev-server: command not found
error Command failed with exit code 127.
Run Code Online (Sandbox Code Playgroud)
当我尝试以webpack-dev-server
我通常的 NixOS 方式安装时,出现“匹配无派生”错误。
$ nix-env -i webpack-dev-server
error: selector ‘webpack-dev-server’ matches no derivations
Run Code Online (Sandbox Code Playgroud)
我读到这webpack-dev-server
是一个 npm 包,但不确定在这种情况下与它的相关性的几个问题。
nix-env
,因为$ nix-env -qa npm
也没有匹配任何派生。 …我正在尝试使用低权限用户启动 node.js 应用程序。我知道的所有文件都归正确的用户所有,并且权限设置得相当好。我正在尝试使用脚本文件来执行此操作。我用这个命令调用脚本
sudo su - nodejs ./start-apps.sh
Run Code Online (Sandbox Code Playgroud)
shell 脚本运行此命令以启动应用程序
cd "/home/nodejs/my-app"
npm start
Run Code Online (Sandbox Code Playgroud)
npm start
被记录在这里。它基本上从 package.json 文件中提取要使用的命令,在我们的应用程序中看起来像这样:
// snip
"scripts": {
"start": "node-dev app"
},
Run Code Online (Sandbox Code Playgroud)
它吐出错误:
> my-app@0.1.0-build.100 start /home/nodejs/my-app
> node-dev app
sh: 1: node-dev: Permission denied
npm ERR! spicoli-authorization@0.1.0-build.100 start: `node-dev app`
npm ERR! Exit status 126
Run Code Online (Sandbox Code Playgroud)
这sh
似乎是说它正在报告来自 shell 命令的错误。我不认为问题出在访问npm
命令本身,因为如果是这样,权限被拒绝将在 npm 命令的任何输出之前引发。但只是为了排除它,这里是 npm 命令本身的权限:
$ sudo find / ! \( -type d \) -name npm -exec ls -lah {} \; …
Run Code Online (Sandbox Code Playgroud) FreeBSD 的每个Atom 文本编辑器构建说明:
pkg install node
pkg install npm
pkg install libgnome-keyring
npm config set python /usr/local/bin/python2 -g
Run Code Online (Sandbox Code Playgroud)
然后:
git clone https://github.com/atom/atom
cd atom
script/build
Run Code Online (Sandbox Code Playgroud)
这是在使用运行 Gnome 3.18.2 的 FreeBSD-11.1-RELEASE-amd64-disc1.iso 的带有 Guest Additions 的 vbox 来宾上。赢得 10 位主机。
当我:
script/build
Run Code Online (Sandbox Code Playgroud)
我得到:
Node: v8.8.1
Npm: v5.3.0
Installing script dependencies
prebuild-install info begin Prebuild-install version 2.3.0
prebuild-install info looking for local prebuild @ prebuilds/leveldown-v1.9.0-node-v57-freebsd-x64.tar.gz
prebuild-install info looking for cached prebuild @ ~/.npm/_prebuilds/https-github.com-level-leveldown-releases-download-v1.9.0-leveldown-v1.9.0-node-v57-freebsd-x64.tar.gz
prebuild-install http request GET https://github.com/level/leveldown/releases/download/v1.9.0/leveldown-v1.9.0-node-v57-freebsd-x64.tar.gz
prebuild-install http 404 …
Run Code Online (Sandbox Code Playgroud) 在我的 Debian 10 上,我遇到了与之前许多人一样的 npm 问题:
npm does not support Node.js v10.15.2
Run Code Online (Sandbox Code Playgroud)
搜索修复程序我发现该错误已在 debian 中修复:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=904422
但是我有来自 debian apt 的最新版本的 npm 包,它仍然是 5.8.0。有人可以解释错误修复是否以及何时会出现在 debian 稳定存储库中吗?谢谢
node.js 包管理器npm
有一个选项来全局安装包。由于发行版通常有自己的包管理器,使用全局选项是否安全?npm
包是否会与分发包冲突并导致难以追溯的错误?
:~/$ uname -a
Linux hostname 4.9.0-4-rt-amd64 #1 SMP PREEMPT RT Debian 4.9.51-1 (2017-09-28) x86_64 GNU/Linux
Run Code Online (Sandbox Code Playgroud)
我认为我有一个清晰的依赖树,没有损坏的包。
:~/$ sudo apt-get check
Reading package lists... Done
Building dependency tree
Reading state information... Done
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试安装时npm
,apt-get 想要删除libssl-dev
:
:~$ sudo apt-get install npm
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
libldns2 libssl-doc
Use 'sudo apt autoremove' to remove them.
The following additional packages will be installed: …
Run Code Online (Sandbox Code Playgroud) nodejs
安装在我的 Debian 延伸上。
nodejs -v
v4.8.2
Run Code Online (Sandbox Code Playgroud)
用同样的方式,我想安装npm
。
sudo aptitude install -f npm
The following NEW packages will be installed:
libjs-inherits{a} node-abbrev{a} node-ansi{a} node-ansi-align{a}
node-ansi-regex{a} node-ansistyles{a} node-aproba{a} node-archy{a}
node-balanced-match{a} node-bluebird{a} node-boxen{ab}
node-brace-expansion{a} node-builtins{a} node-cacache{ab}
node-call-limit{a} node-chownr{a} node-cli-boxes{a} node-clone{a}
node-concat-map{a} node-concat-stream{a} node-config-chain{ab}
node-copy-concurrently{ab} node-cross-spawn{a} node-cross-spawn-async{a}
node-cyclist{a} node-decompress-response{a} node-deep-extend{a}
node-defaults{a} node-detect-indent{a} node-detect-newline{a}
node-duplexer3{a} node-duplexify{a} node-editor{a} node-encoding{a}
node-end-of-stream{a} node-errno{a} node-execa{a}
node-flush-write-stream{a} node-from2{a} node-fs-vacuum{a}
node-fs-write-stream-atomic{a} node-fs.realpath{a} node-get-stream{a}
node-glob{a} node-got{a} node-graceful-fs{a} node-has-symbol-support-x{a}
node-has-to-string-tag-x{a} node-has-unicode{a} node-iconv-lite{a}
node-iferr{a} node-import-lazy{a} node-imurmurhash{a} node-inflight{a}
node-inherits{a} node-ini{a} node-is-npm{a} node-is-object{a} …
Run Code Online (Sandbox Code Playgroud) 我想在名为PuppyLinux 的基于 Slackware 的发行版上运行NodeJS。由于我习惯了 Ubuntu 和 CentOS(简单的 Linux 领域),我发现很难找到在 Slackware 上运行的 NodeJS 包。
我尝试从源代码构建它,但是安装gcc
和依赖项花费了很长时间,然后我发现了一些愚蠢的编译错误(找不到 errno.h!)
是否有任何 NodeJS(和 npm)二进制文件可以在 Slackware 上运行?有谁建造成功了吗?
我创建了一个脚本来检查我是否安装了 Node、Npm、Bower 和 Susy,但是当我执行它时,我收到一个我无法解决的错误。
这是脚本:
isInstalled(){
command -v $1 >/dev/null 2>&1 || command -v $2 >/dev/null 2>&1 || { echo >&2 "I require $1 but it's not installed. Aborting."; return false;}
}
installNode() {
if [[ !isInstalled('node', 'nodejs') ]]; then
echo "Node is not installed. Installing..."
curl https://www.npmjs.org/install.sh | sh
fi
}
installBower()
{
if [[ !isInstalled('npm') ]]; then
echo "Npm is not installed. Installing..."
curl -L https://npmjs.org/install.sh | sh
else
echo "Npm is installed. Checcking Bower..."
if [[ !isInstalled('bower') …
Run Code Online (Sandbox Code Playgroud) npm ×11
node.js ×4
debian ×3
apt ×2
permissions ×2
atom-editor ×1
executable ×1
freebsd ×1
nixos ×1
scripting ×1
shell ×1
slackware ×1
ssl ×1
symlink ×1
virtualbox ×1