我只是尝试在 Debian Stretch 上node
安装。npm
我按照描述安装了节点这里。
安装后nodejs-legacy
,我的node
命令也可以工作,但npm
仍然找不到命令。
因此,我尝试通过手动安装它apt-get install npm
,但它只是告诉我找不到该包。接下来我尝试了“Fancy Install (Unix)”npm 存储库失败了
install npm@latest
fetching: https://registry.npmjs.org/npm/-/npm-5.5.1.tgz
module.js:327
throw err;
^
Error: Cannot find module '/tmp/npm.1272/package/bin/read-package-json.js'
at Function.Module._resolveFilename (module.js:325:15)
at Function.Module._load (module.js:276:25)
at Function.Module.runMain (module.js:441:10)
at startup (node.js:140:18)
at node.js:1043:3
added 1 package and removed 1 package in 0.45s
/usr/bin/npm -> /usr/lib/node_modules/npm/bin/npm-cli.js
/usr/bin/npx -> /usr/lib/node_modules/npm/bin/npx-cli.js
+ [email protected]
updated 1 package in 1.21s
It worked
尽管它为命令创建了链接,但npm
链接已损坏。有人知道我怎样才能npm
跑步吗?
另一件事:我的 resources.list 中有 Visual Studio 代码存储库,它也使用节点。这是否可能是我下载一个没有 npm 的节点包的原因apt-get install -y nodejs
?
预先感谢您的每一个答案。
答案1
看起来好像是应该可以在npm
包装中找到,但是有一个问题:
Error: Package not available in this suite
我在某处读到它故意不可用,因为有很多突出的安全问题(对于打包版本)。我解决了我的问题,没有任何“sudo 从互联网运行此脚本”解决方案,如下所示:
cd /tmp/
wget https://deb.nodesource.com/setup_8.x
view setup_8.x
echo 'deb https://deb.nodesource.com/node_8.x stretch main' > /etc/apt/sources.list.d/nodesource.list
wget -qO - https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add -
apt update
apt install nodejs
npm
作为该包的一部分安装nodejs
。
答案2
我不知道为什么我上面的尝试不起作用,但对我来说安装nvm
就像描述的那样这里然后表演nvm install node
就完美了。
答案3
read-package-json.js
我通过使用最新的安装脚本解决了有关缺失的错误https://raw.githubusercontent.com/npm/npm/latest/scripts/install.sh。 (来源:https://github.com/npm/npm/issues/18524#issuecomment-385369514)。
之后您可能会遇到有关丢失的错误rimraf
。至少为此有一个 Debian Stretch 包:apt install node-rimraf
。有关替代方案,请参阅https://github.com/npm/npm/issues/18524和https://github.com/npm/npm/issues/19105。
make
最后,如果您尚未安装该软件,您可能会遇到有关缺失的错误,因此apt install make
.