Jon*_*han 7 nodejs 14.04 jshint
我使用 安装了 jshint sudo npm install -g jshint
,它似乎奏效了:
$which jshint
/usr/local/bin/jshint
Run Code Online (Sandbox Code Playgroud)
然而,运行jshint
或其完整路径等价物似乎没有任何作用。它也不会出错——它什么都不做:
$jshint
$jshint --help
$jshint --verbose
$jshint --debug
$jshint admin.js
$jshint admin.js --verbose
$/usr/local/bin/jshint admin.js
Run Code Online (Sandbox Code Playgroud)
我还尝试根据此答案对nodejs 进行符号链接:
$sudo ln -s /usr/bin/nodejs /usr/bin/node
$jshint admin.js --verbose
$jshint admin.js
$jshint --help
$man jshint
No manual entry for jshint
See 'man 7 undocumented' for help when manual pages are not available.
Run Code Online (Sandbox Code Playgroud)
我在这里缺少什么?
编辑:这是来自apt-cache policy nodejs npm
. 我只是使用标准的 Ubuntu 14.04 包,所以没有什么特别之处:
??>apt-cache policy nodejs npm
nodejs:
Installed: 0.10.25~dfsg2-2ubuntu1
Candidate: 0.10.25~dfsg2-2ubuntu1
Version table:
*** 0.10.25~dfsg2-2ubuntu1 0
500 http://us.archive.ubuntu.com/ubuntu/ trusty/universe amd64 Packages
100 /var/lib/dpkg/status
npm:
Installed: 1.3.10~dfsg-1
Candidate: 1.3.10~dfsg-1
Version table:
*** 1.3.10~dfsg-1 0
500 http://us.archive.ubuntu.com/ubuntu/ trusty/universe amd64 Packages
100 /var/lib/dpkg/status
Run Code Online (Sandbox Code Playgroud)
通过官方存储库安装 Node 和 npm 总是给我带来麻烦。我怀疑这可能是由于取决于 的工具node
,当 Ubuntu上的实际命令是 时nodejs
,这就是创建符号链接应该起作用的原因。在我的虚拟机快速测试中它对我有用,但由于它对你不起作用,让我们尝试其他方法......
我通常更喜欢使用NVM在 Ubuntu 上安装 Node 。这避免了node
命令未在 Ubuntu 上定义的问题,并且避免了需要使用sudo
来安装 npm 模块的权限混乱。
删除您使用 npm 安装的所有全局模块(此处的说明):
sudo npm list -g --depth=0. | awk -F ' ' '{print $2}' | awk -F '@' '{print $1}' | sudo xargs npm remove -g
Run Code Online (Sandbox Code Playgroud)
删除符号链接节点文件夹:
sudo rm /usr/bin/node
Run Code Online (Sandbox Code Playgroud)
卸载您通过 Ubuntu 的存储库安装的nodejs
和的副本npm
:
sudo apt-get remove --purge nodejs npm
Run Code Online (Sandbox Code Playgroud)
清理任何其他残留物:
sudo apt-get autoremove
Run Code Online (Sandbox Code Playgroud)
此时,which node
, which nodejs
, which npm
, 和which jshint
都应该不返回任何内容。
获取 NVM 的最新副本(您可能需要sudo apt-get install curl
先):
curl https://raw.githubusercontent.com/creationix/nvm/v0.15.0/install.sh | bash
Run Code Online (Sandbox Code Playgroud)
告诉你的外壳使用 nvm
source ~/.nvm/nvm.sh
Run Code Online (Sandbox Code Playgroud)
然后安装一个节点版本
nvm install 0.12 # or whatever the latest version is
Run Code Online (Sandbox Code Playgroud)
并告诉 nvm 你想使用哪个版本的 Node
nvm use 0.12
Run Code Online (Sandbox Code Playgroud)
现在您应该能够使用该node
命令运行 Node ,您应该能够在没有sudo
.
如果您不想nvm use v0.12
每次启动新的终端会话时都运行,您可以添加nvm use v
到您的~/.bashrc
. 在v
不是特殊的,它只会匹配v*
,找到最新的版本。或者,您可以对特定版本进行硬编码。
归档时间: |
|
查看次数: |
6311 次 |
最近记录: |