Npm 安装Dalek JS模块时出错-Chrome浏览器
安装Chrome浏览器Dalek JS模块时遇到问题 以下是控制台输出的摘录:Npm 安装Dalek JS模块时出错-Chrome浏览器,npm,dalekjs,Npm,Dalekjs,安装Chrome浏览器Dalek JS模块时遇到问题 以下是控制台输出的摘录: npm http 304 https://registry.npmjs.org/abbrev > dalek-browser-chrome@0.0.2 install /Users/xxx/Sites/tests/node_modules/dalek-browser-chrome > node install.js Chromedriver installation failed Er
npm http 304 https://registry.npmjs.org/abbrev
> dalek-browser-chrome@0.0.2 install /Users/xxx/Sites/tests/node_modules/dalek-browser-chrome
> node install.js
Chromedriver installation failed Error: EACCES, permission denied '/Users/xxx/tmp/chromedriver'
at Object.fs.unlinkSync (fs.js:582:18)
at rimrafSync (/Users/xxx/Sites/tests/node_modules/dalek-browser-chrome/node_modules/rimraf/rimraf.js:154:8)
at Promise._successFn (/Users/xxx/Sites/tests/node_modules/dalek-browser-chrome/install.js:176:7)
at Promise._withInput (/Users/xxx/Sites/tests/node_modules/dalek-browser-chrome/node_modules/kew/kew.js:204:25)
at Promise._chainPromise (/Users/xxx/Sites/tests/node_modules/dalek-browser-chrome/node_modules/kew/kew.js:244:13)
at Promise.then (/Users/xxx/Sites/tests/node_modules/dalek-browser-chrome/node_modules/kew/kew.js:144:13)
at /Users/xxx/Sites/tests/node_modules/dalek-browser-chrome/install.js:175:23
at loadCbs.length (/Users/xxx/Sites/tests/node_modules/dalek-browser-chrome/node_modules/npmconf/npmconf.js:76:7)
at Array.forEach (native)
at /Users/xxx/Sites/tests/node_modules/dalek-browser-chrome/node_modules/npmconf/npmconf.js:75:13
npm ERR! dalek-browser-chrome@0.0.2 install: `node install.js`
npm ERR! `sh "-c" "node install.js"` failed with 1
npm ERR!
npm ERR! Failed at the dalek-browser-chrome@0.0.2 install script.
npm ERR! This is most likely a problem with the dalek-browser-chrome package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node install.js
npm ERR! You can get their info via:
npm ERR! npm owner ls dalek-browser-chrome
npm ERR! There is likely additional logging output above.
npm ERR! System Darwin 12.4.0
npm ERR! command "node" "/usr/local/bin/npm" "install" "dalek-browser-chrome" "--save-dev"
npm ERR! cwd /Users/xxx/Sites/tests
npm ERR! node -v v0.8.15
npm ERR! npm -v 1.1.66
npm ERR! code ELIFECYCLE
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /Users/xxx/Sites/tests/npm-debug.log
npm ERR! not ok code 0
我正在运行MacOSX10.8.4。这看起来像是权限问题,但我正在按如下方式运行安装:
sudo npm install dalek-browser-chrome --save-dev
使现代化
我确实尝试过在没有sudo的情况下运行此功能,但得到以下结果:
── ncp@0.4.2
├── kew@0.1.7
├── q@0.9.6
├── adm-zip@0.4.3
├── rimraf@2.2.2 (graceful-fs@2.0.0)
└── npmconf@0.1.2 (once@1.1.1, inherits@2.0.1, osenv@0.0.3, ini@1.1.0, mkdirp@0.3.5, semver@2.1.0, nopt@2.1.2, config-chain@1.1.7)
npm ERR! Error: EACCES, open '/Users/xxx/Sites/tests/package.json'
npm ERR! { [Error: EACCES, open '/Users/xxx/Sites/tests/package.json']
npm ERR! errno: 3,
npm ERR! code: 'EACCES',
npm ERR! path: '/Users/xxx/Sites/tests/package.json' }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.
npm ERR! System Darwin 12.4.0
npm ERR! command "node" "/usr/local/bin/npm" "install" "dalek-browser-chrome" "--save-dev"
npm ERR! cwd /Users/xxx/Sites/tests
npm ERR! node -v v0.8.15
npm ERR! npm -v 1.1.66
npm ERR! path /Users/xxx/Sites/tests/package.json
npm ERR! code EACCES
npm ERR! errno 3
npm ERR! stack Error: EACCES, open '/Users/xxx/Sites/tests/package.json'
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /Users/xxx/Sites/tests/npm-debug.log
npm ERR! not ok code 0
基于这一点,我尝试了Sudo
知道还有什么吗?这个问题可能与使用
sudo
有关,
该模块是本地模块,因此您应该能够在不使用sudo的情况下安装它
下载chromedriver可执行文件后,安装程序会尝试修复下载文件的权限,这可能会导致此问题
进一步阅读sudo与否:问题可能与使用
sudo有关,
该模块是本地模块,因此您应该能够在不使用sudo的情况下安装它
下载chromedriver可执行文件后,安装程序会尝试修复下载文件的权限,这可能会导致此问题
继续阅读sudo与否:chromedriver模块正在尝试运行一个安装脚本,该脚本会接触模块目录外的文件
这是chromedriver模块的一个错误。在安装时,它不应试图接触其模块文件夹之外的任何文件。如果这是绝对必要的,它可以在运行时请求您的许可,并执行它需要执行的操作
为了防止意外利用漏洞,当您以root
身份运行npm时,npm以nobody
身份运行包生命周期脚本。无人
用户没有写入/Users/xxx/tmp
的权限(顺便说一句,您选择了一个奇怪的用户名),因此安装脚本失败
如果一个包要写入/etc/hosts
或其他东西,并添加一组仿冒网站IP地址作为各种银行网站的位置,该怎么办?如果你下载一个命令,然后运行它,它会做一些不好的事情,好吧,你搞砸了,信任了错误的程序。但是,如果只是简单地安装程序就做了一些像这样的坏事,那么npm侵犯了你的信任,我尽量不让这种情况发生
你可能会争辩说你明确要求下载这个程序,但由于依赖性很小的信任网络可能会变得非常广泛,所以我晚上睡不好觉有点太危险了,这就是npm有此规则的原因。chromedriver模块正试图运行一个安装脚本,该脚本会接触模块目录外的文件
这是chromedriver模块的一个错误。在安装时,它不应试图接触其模块文件夹之外的任何文件。如果这是绝对必要的,它可以在运行时请求您的许可,并执行它需要执行的操作
为了防止意外利用漏洞,当您以root
身份运行npm时,npm以nobody
身份运行包生命周期脚本。无人
用户没有写入/Users/xxx/tmp
的权限(顺便说一句,您选择了一个奇怪的用户名),因此安装脚本失败
如果一个包要写入/etc/hosts
或其他东西,并添加一组仿冒网站IP地址作为各种银行网站的位置,该怎么办?如果你下载一个命令,然后运行它,它会做一些不好的事情,好吧,你搞砸了,信任了错误的程序。但是,如果只是简单地安装程序就做了一些像这样的坏事,那么npm侵犯了你的信任,我尽量不让这种情况发生
你可能会争辩说,你明确要求下载该程序,但由于依赖性很小的信任网络可能会变得非常广泛,所以我晚上睡不好觉有点太危险了,所以npm有这个规则。嗨,塞巴斯蒂安-谢谢你回来找我。我在没有sudo的情况下尝试过,请看我更新的问题。嗨,Dave,我会问一些npm大师,因为我不知道:(我会在收到一些答案后尽快回复你。嗨,塞巴斯蒂安-谢谢你回复我。我确实在没有sudo的情况下尝试过,请查看我的最新问题。嗨,戴夫,我会问一些npm大师,因为我没有线索:(我会在收到一些答案后尽快回复你。)。